From 414bf166e07703056ad186fa8ec23a4119dd9993 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Sat, 11 Nov 2017 01:40:34 -0800 Subject: Additional IR updates --- src/WixToolset.Data/IntermediateTuple.cs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/WixToolset.Data/IntermediateTuple.cs') diff --git a/src/WixToolset.Data/IntermediateTuple.cs b/src/WixToolset.Data/IntermediateTuple.cs index 36cee2aa..0f1e5965 100644 --- a/src/WixToolset.Data/IntermediateTuple.cs +++ b/src/WixToolset.Data/IntermediateTuple.cs @@ -30,12 +30,17 @@ namespace WixToolset.Data internal static IntermediateTuple Deserialize(ITupleDefinitionCreator creator, JsonObject jsonObject) { - var definitionName = jsonObject.GetValueOrDefault("def"); + var definitionName = jsonObject.GetValueOrDefault("type"); + var idJson = jsonObject.GetValueOrDefault("id"); + var sourceLineNumbersJson = jsonObject.GetValueOrDefault("ln"); var fieldsJson = jsonObject.GetValueOrDefault("fields"); creator.TryGetTupleDefinitionByName(definitionName, out var definition); // TODO: this isn't sufficient. var tuple = definition.CreateTuple(); + tuple.Id = (idJson == null) ? null : Identifier.Deserialize(idJson); + tuple.SourceLineNumbers = (sourceLineNumbersJson == null) ? null : SourceLineNumber.Deserialize(sourceLineNumbersJson); + for (var i = 0; i < fieldsJson.Count; ++i) { if (tuple.Fields.Length > i && fieldsJson[i] is JsonObject fieldJson) @@ -51,9 +56,21 @@ namespace WixToolset.Data { var jsonObject = new JsonObject { - { "def", this.Definition.Name } + { "type", this.Definition.Name } }; + var idJson = this.Id?.Serialize(); + if (idJson != null) + { + jsonObject.Add("id", idJson); + } + + var lnJson = this.SourceLineNumbers?.Serialize(); + if (lnJson != null) + { + jsonObject.Add("ln", lnJson); + } + var fieldsJson = new JsonArray(this.Fields.Length); foreach (var field in this.Fields) -- cgit v1.2.3-55-g6feb