public string GetDeserializationString(string fieldInstance, string schemaObject, uint fieldNumber, int indents) { var codeWriter = new CodeWriter(); codeWriter.WriteLine($"if ({containedType.GetCountExpression(schemaObject, fieldNumber)} == 1)"); using (codeWriter.Scope()) { codeWriter.WriteLine($"{fieldInstance} = new {Type}({containedType.GetDeserializationExpression(schemaObject, fieldNumber)});"); } return(CommonGeneratorUtils.IndentEveryNewline(codeWriter.Build(), indents)); }
public string GetDeserializationString(string fieldInstance, string schemaObject, int fieldNumber, int indents) { var codeWriter = new CodeWriter(); codeWriter.WriteLine($"var list = {fieldInstance} = new {Type}();"); codeWriter.WriteLine($"var listLength = {containedType.GetCountExpression(schemaObject, fieldNumber)};"); codeWriter.WriteLine("for (var i = 0; i < listLength; i++)"); using (codeWriter.Scope()) { codeWriter.WriteLine($"list.Add({containedType.GetFieldIndexExpression(schemaObject, fieldNumber, "i")});"); } return(CommonGeneratorUtils.IndentEveryNewline(codeWriter.Build(), indents)); }
public string GetDeserializeUpdateString(string fieldInstance, string updateFieldInstance, string schemaObject, int fieldNumber, int indents) { var codeWriter = new CodeWriter(); codeWriter.WriteLine($"if ({containedType.GetCountExpression(schemaObject, fieldNumber)} == 1)"); using (codeWriter.Scope()) { codeWriter.WriteLine($"var value = {containedType.GetDeserializationExpression(schemaObject, fieldNumber)};"); codeWriter.WriteLine($"{fieldInstance} = value;"); codeWriter.WriteLine($"{updateFieldInstance} = new global::Improbable.Gdk.Core.Option<{Type}>(value);"); } return(CommonGeneratorUtils.IndentEveryNewline(codeWriter.Build(), indents)); }