private void WriteGetterBody(CodeMethod codeElement, LanguageWriter writer, CodeClass parentClass) { var backingStore = parentClass.GetBackingStoreProperty(); if (backingStore == null) { writer.WriteLine($"return this.{codeElement.AccessedProperty?.NamePrefix}{codeElement.AccessedProperty?.Name?.ToFirstCharacterLowerCase()};"); } else if (!(codeElement.AccessedProperty?.Type?.IsNullable ?? true) && !(codeElement.AccessedProperty?.ReadOnly ?? true) && !string.IsNullOrEmpty(codeElement.AccessedProperty?.DefaultValue)) { writer.WriteLines($"let value = this.{backingStore.NamePrefix}{backingStore.Name.ToFirstCharacterLowerCase()}.get<{conventions.GetTypeString(codeElement.AccessedProperty.Type)}>(\"{codeElement.AccessedProperty.Name.ToFirstCharacterLowerCase()}\");", "if(!value) {"); writer.IncreaseIndent(); writer.WriteLines($"value = {codeElement.AccessedProperty.DefaultValue};", $"this.{codeElement.AccessedProperty?.NamePrefix}{codeElement.AccessedProperty?.Name?.ToFirstCharacterLowerCase()} = value;"); writer.DecreaseIndent(); writer.WriteLines("}", "return value;"); } else { writer.WriteLine($"return this.{backingStore.NamePrefix}{backingStore.Name.ToFirstCharacterLowerCase()}.get(\"{codeElement.AccessedProperty?.Name?.ToFirstCharacterLowerCase()}\");"); } }
private static void WriteSetterBody(CodeMethod codeElement, LanguageWriter writer, CodeClass parentClass) { var backingStore = parentClass.GetBackingStoreProperty(); if (backingStore == null) { writer.WriteLine($"this.{codeElement.AccessedProperty?.NamePrefix}{codeElement.AccessedProperty?.Name?.ToFirstCharacterLowerCase()} = value;"); } else { writer.WriteLine($"this.{backingStore.NamePrefix}{backingStore.Name.ToFirstCharacterLowerCase()}.set(\"{codeElement.AccessedProperty?.Name?.ToFirstCharacterLowerCase()}\", value);"); } }