/// <summary> Create a field initializer with new keyword. Example: IntReactiveProperty a = new IntReactiveProperty()</summary> private static EqualsValueClauseSyntax CreateNewFieldInitializer(FieldGenerationData data) { var arguments = SyntaxFactory.ArgumentList(); if (!string.IsNullOrEmpty(data.m_InitializerValue) || VariableTypeCheckerUtility.IsVariableBoolean(data.m_VariableType)) { arguments = arguments.AddArguments(SyntaxFactory.Argument(LiteralExpressionUtility.CreateLiteralExpression(data.m_VariableType, data.m_InitializerValue))); } return(SyntaxFactory.EqualsValueClause(SyntaxFactory.ObjectCreationExpression( NameSyntaxUtility.GetNameSyntax(data.m_VariableType), arguments, null))); }
private static AttributeArgumentSyntax GetAttributeArgumentSyntax(AttributeArgumentData data) { var argumentSyntax = SyntaxFactory.AttributeArgument(LiteralExpressionUtility.CreateLiteralExpression(data.m_ArgumentType, data.m_ArgumentValue)); if (data.m_IsPartOfConstructor) { argumentSyntax = argumentSyntax.WithNameEquals(NameSyntaxUtility.GetNameEqualsSyntax(data.m_ArgumentName)); } else { argumentSyntax = argumentSyntax.WithNameColon(NameSyntaxUtility.GetNameColonSyntax(data.m_ArgumentName)); } return(argumentSyntax); }
/// <summary> Create a field initializer without the new keyword. Example: int a = 0 </summary> private static EqualsValueClauseSyntax CreateFieldInitializer(FieldGenerationData data) { return(SyntaxFactory.EqualsValueClause(LiteralExpressionUtility.CreateLiteralExpression(data.m_VariableType, data.m_InitializerValue))); }