public static List <string> Usings(this ClassGenerator generator) { var usings = new List <string>(); for (int i = 0; i < generator.attributes.Count; i++) { usings.MergeUnique(generator.attributes[i].Usings()); } for (int i = 0; i < generator.fields.Count; i++) { usings.MergeUnique(generator.fields[i].Usings()); } for (int i = 0; i < generator.properties.Count; i++) { usings.MergeUnique(generator.properties[i].Usings()); } for (int i = 0; i < generator.methods.Count; i++) { usings.MergeUnique(generator.methods[i].Usings()); } return(usings); }
/// <summary> /// Create a nested class generator based on required parameters. /// </summary> public static ClassGenerator Class(AccessModifier nestedScope, ClassModifier modifier, string name, Type inherits) { var @class = new ClassGenerator(); @class.nestedScope = nestedScope; @class.modifier = modifier; @class.name = name; @class.inherits = inherits; @class.isNested = true; return(@class); }
/// <summary> /// Create a root class generator based on required parameters. /// </summary> public static ClassGenerator Class(RootAccessModifier scope, ClassModifier modifier, string name, string inherits) { var @class = new ClassGenerator(); @class.scope = scope; @class.modifier = modifier; @class.name = name; @class.stringInherits = inherits; @class.isNested = false; return(@class); }
public static string Using(this ClassGenerator generator) { var usings = new List <string>(); for (int i = 0; i < generator.fields.Count; i++) { var @namespace = generator.fields[i].type.Namespace; if (!usings.Contains(@namespace)) { usings.Add(@namespace); } } for (int i = 0; i < generator.properties.Count; i++) { var @namespace = generator.properties[i].returnType.Namespace; if (!usings.Contains(@namespace)) { usings.Add(@namespace); } } for (int i = 0; i < generator.methods.Count; i++) { var @namespace = generator.methods[i].returnType.Namespace; if (!usings.Contains(@namespace)) { usings.Add(@namespace); } } var output = string.Empty; for (int i = 0; i < usings.Count; i++) { output += "using ".ConstructHighlight() + usings[i] + ";" + (i < usings.Count - 1 ? "\n" : string.Empty); } return(output); }
public NamespaceGenerator AddClass(ClassGenerator @class) { classes.Add(@class); return(this); }
public StructGenerator AddClass(ClassGenerator generator) { classes.Add(generator); return(this); }