Example #1
0
        public static StructGenerator Struct(RootAccessModifier scope, StructModifier modifier, string name)
        {
            var @struct = new StructGenerator();

            @struct.scope    = scope;
            @struct.modifier = modifier;
            @struct.name     = name;
            @struct.isNested = false;
            return(@struct);
        }
Example #2
0
        /// <summary>
        /// Create a root class generator based on required parameters.
        /// </summary>
        public static ClassGenerator Class(RootAccessModifier scope, ClassModifier modifier, string name, Type inherits)
        {
            var @class = new ClassGenerator();

            @class.scope    = scope;
            @class.modifier = modifier;
            @class.name     = name;
            @class.inherits = inherits == null ? typeof(object) : inherits;
            @class.isNested = false;
            return(@class);
        }
Example #3
0
        /// <summary>
        /// Create a root class generator based on required parameters.
        /// </summary>
        public static ClassGenerator Class(RootAccessModifier scope, ClassModifier modifier, string name, string inherits, string inheritsNamespace, List <string> usings = null)
        {
            var @class = new ClassGenerator();

            @class.scope    = scope;
            @class.modifier = modifier;
            @class.name     = name;
            @class.assemblyQualifiedInheritanceNamespace = inheritsNamespace;
            @class.assemblyQualifiedInheritanceType      = inherits;
            @class.isNested = false;
            @class.usings   = usings;
            @class.useAssemblyQualifiedNameForInheritance = true;
            return(@class);
        }
Example #4
0
        public static string Declaration(int indent, RootAccessModifier scope, string typeName, string inherits, List <Interface> interfaces, string attributes, string parameters, List <Variable> variables, string customVariables, string constructors, Methods methods, bool isLive)
        {
            var output = string.Empty;

            output += attributes + (string.IsNullOrEmpty(attributes) ? string.Empty : "\n");
            output += CodeBuilder.Indent(indent) + CodeBuilder.Scope(scope) + " " + Patcher.ObjectTypeName(ObjectKind.Class) + " " + typeName + CodeBuilder.TryAddBaseTypeSeperator(inherits, interfaces) + inherits + CodeBuilder.Interfaces(interfaces, inherits, (interfaces.Count > 0) ? true : false);
            output += "\n";
            output += CodeBuilder.Indent(indent) + "{";
            output += "\n";
            output += CodeBuilder.Variables(variables, indent + 1);
            output += (string.IsNullOrEmpty(constructors) ? string.Empty : "\n");
            output += constructors;
            output += CodeBuilder.Indent(indent) + "}";
            return(output);
        }
Example #5
0
        public static string Declaration(int indent, RootAccessModifier scope, ClassModifier modifier, string typeName, string inherits, List <Interface> interfaces, string attributes, string parameters, List <Variable> variables, string customVariables, string constructors, string preMethodCustomText, Methods methods, bool isLive)
        {
            var output = string.Empty;

            output += attributes + (string.IsNullOrEmpty(attributes) ? string.Empty : "\n");
            output += CodeBuilder.Indent(indent) + CodeBuilder.Scope(scope) + " " + ((modifier == ClassModifier.None) ? string.Empty : Patcher.AddLowerUpperNeighboringSpaces(modifier.ToString()).ToLower()) + " " + Patcher.ObjectTypeName(ObjectKind.Class) + " " + typeName + CodeBuilder.TryAddBaseTypeSeperator(inherits, interfaces) + inherits + CodeBuilder.Interfaces(interfaces, inherits, (interfaces.Count > 0) ? true : false);
            output += "\n";
            output += CodeBuilder.Indent(indent) + "{";
            output += "\n";
            output += CodeBuilder.Variables(variables, indent + 1);
            output += customVariables;
            output += (string.IsNullOrEmpty(customVariables) ? string.Empty : "\n");
            output += constructors;
            output += preMethodCustomText;
            output += string.IsNullOrEmpty(preMethodCustomText) ? string.Empty : "\n\n";
            output += MethodBuilder.Methods(indent + 1, methods, isLive);
            output += CodeBuilder.Indent(indent) + "}";
            return(output);
        }
Example #6
0
        public static string EnumDeclaration(int indent, RootAccessModifier scope, string typeName, string attributes, List <Enum> items, bool isLive)
        {
            var output = string.Empty;

            output += attributes + (string.IsNullOrEmpty(attributes) ? string.Empty : "\n");
            output += CodeBuilder.Indent(indent) + CodeBuilder.Scope(scope) + " " + Patcher.ObjectTypeName(ObjectKind.Enum) + " " + typeName;
            output += "\n";
            output += CodeBuilder.Indent(indent) + "{";
            output += "\n";

            for (int i = 0; i < items.Count; i++)
            {
                output += CodeBuilder.Indent(indent + 1) + items[i].name + " = " + items[i].index.ToString();
                if (i != items.Count - 1)
                {
                    output += ",";
                }
                output += "\n";
            }

            output += CodeBuilder.Indent(indent) + "}";

            return(output);
        }
Example #7
0
 public static string Scope(RootAccessModifier scope)
 {
     return(Patcher.AddLowerUpperNeighboringSpaces(scope.ToString().ToLower()));
 }
Example #8
0
 public static string AsString(RootAccessModifier scope)
 {
     return(scope.ToString().ToLower());
 }
Example #9
0
 public static string AsString(this RootAccessModifier scope)
 {
     return(EnumToLower(scope));
 }