public static FieldGenerator Field(AccessModifier scope, FieldModifier modifier, Type type, string name) { var field = new FieldGenerator(); field.scope = scope; field.modifier = modifier; field.type = type; field.name = name; field.defaultValue = HUMValue.Create().New(type); return(field); }
public override string Generate(int indent) { if (string.IsNullOrEmpty(name)) { return(string.Empty); } var _attributes = string.Empty; var count = 0; foreach (AttributeGenerator attr in attributes) { _attributes += attr.Generate(indent) + ((count < attributes.Count - 1) ? "\n" : string.Empty); } var modSpace = (modifier == FieldModifier.None) ? string.Empty : " "; var definition = CodeBuilder.Indent(indent) + scope.AsString().ConstructHighlight() + " " + modifier.AsString().ConstructHighlight() + modSpace + type.As().CSharpName() + " " + name.LegalMemberName(); var output = !isString && (defaultValue == null || defaultValue.Equals(HUMValue.Create().New(type))) ? ";" : " = " + (isString ? stringDefault : defaultValue.As().Code(true) + ";"); return(_attributes + definition + output); }
public static string InitializeVariable(string name, Type type) { return(!type.Is().NullOrVoid() ? type.As().CSharpName() + " " + CodeBuilder.Assign(name, HUMValue.Create().New(type).As().Code(false)) + "\n" : string.Empty); }