Ejemplo n.º 1
0
        protected override string GenerateBefore(int indent)
        {
            var output = string.Empty;

            for (int i = 0; i < attributes.Count; i++)
            {
                output += attributes[i].Generate(indent) + "\n";
            }

            output += CodeBuilder.Indent(indent) + scope.AsString().ConstructHighlight() + " enum ".ConstructHighlight() + typeName.LegalMemberName().EnumHighlight();

            return(output);
        }
Ejemplo n.º 2
0
        public override string Generate(int indent)
        {
            return(CodeBuilder.Indent(indent) + scope.AsString() + " delegate ".ConstructHighlight() + returnType.Name + " " + name + "(" + GenerateParameters() + ");");

            string GenerateParameters()
            {
                var output = string.Empty;

                for (int i = 0; i < parameters.Count; i++)
                {
                    output += parameters[i].Generate(0);
                    output += i < parameters.Count - 1 ? ", " : string.Empty;
                }
                return(output);
            }
        }
Ejemplo n.º 3
0
        protected override string GenerateBefore(int indent)
        {
            var output = string.Empty;

            for (int i = 0; i < attributes.Count; i++)
            {
                output += attributes[i].Generate(indent) + "\n";
            }

            output += CodeBuilder.Indent(indent) + scope.AsString() + modifier.AsString() + " struct " + name.LegalMemberName();
            output += interfaces.Count == 0 ? string.Empty : " : ";

            for (int i = 0; i < interfaces.Count; i++)
            {
                output += interfaces[i].As().CSharpName();
                output += i < interfaces.Count - 1 ? ", " : string.Empty;
            }

            return(output);
        }
Ejemplo n.º 4
0
        protected override string GenerateBody(int indent)
        {
            var output = string.Empty;

            for (int i = 0; i < items.Count; i++)
            {
                if (string.IsNullOrEmpty(items[i].name))
                {
                    continue;
                }
                output += CodeBuilder.Indent(indent) + items[i].name.LegalMemberName() + (indexing ? " = " + items[i].index.ToString().NumericHighlight() : string.Empty);
                if (i < items.Count - 1)
                {
                    output += ",";
                    output += "\n";
                }
            }

            return(output);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        protected override string GenerateBefore(int indent)
        {
            var output = string.Empty;

            for (int i = 0; i < attributes.Count; i++)
            {
                output += attributes[i].Generate(indent) + "\n";
            }

            var canShowInherits = !(inherits == null && string.IsNullOrEmpty(stringInherits) || inherits == typeof(object) && inherits.BaseType == null);

            output += CodeBuilder.Indent(indent) + scope.AsString().ConstructHighlight() + (modifier == ClassModifier.None ? string.Empty : " " + modifier.AsString().ConstructHighlight()) + " class ".ConstructHighlight() + name.LegalMemberName().TypeHighlight();
            output += !canShowInherits && interfaces.Count == 0 ? string.Empty : " : ";
            output += canShowInherits ? (inherits == null ? stringInherits : inherits.As().CSharpName()) + (interfaces.Count > 0 ? ", " : string.Empty) : string.Empty;

            for (int i = 0; i < interfaces.Count; i++)
            {
                output += interfaces[i].As().CSharpName();
                output += i < interfaces.Count - 1 ? ", " : string.Empty;
            }

            return(output);
        }
Ejemplo n.º 7
0
        public override string Generate(int indent)
        {
            if (multiLine)
            {
                var parameters = string.Empty;

                for (int i = 0; i < parameterNames.Count; i++)
                {
                    parameters += parameterNames[i];

                    if (i < parameterNames.Count - 1)
                    {
                        parameters += ", ";
                    }
                }

                return("(" + parameters + ") =>\n" +
                       CodeBuilder.Indent(indent) + "{\n" +
                       body.Replace("\n", "\n" + CodeBuilder.Indent(indent + 1)) + "\n}");
            }
            else
            {
                var parameters = string.Empty;

                for (int i = 0; i < parameterNames.Count; i++)
                {
                    parameters += parameterNames[i];

                    if (i < parameterNames.Count - 1)
                    {
                        parameters += ", ";
                    }
                }

                return("(" + parameters + ") => { " + body + "}");
            }
        }
Ejemplo n.º 8
0
        protected override string GenerateBefore(int indent)
        {
            var output = string.Empty;

            for (int i = 0; i < attributes.Count; i++)
            {
                output += attributes[i].Generate(indent) + "\n";
            }

            var hasInterfaces = interfaces.Length > 0;

            output += CodeBuilder.Indent(indent) + scope.AsString().ConstructHighlight() + " interface ".ConstructHighlight() + typeName.LegalMemberName().InterfaceHighlight() + (hasInterfaces ? " : " : string.Empty);

            for (int i = 0; i < interfaces.Length; i++)
            {
                output += interfaces[i].Name.LegalMemberName().InterfaceHighlight();
                if (i < interfaces.Length - 1)
                {
                    output += ", ";
                }
            }

            return(output);
        }
Ejemplo n.º 9
0
 public override string Generate(int indent)
 {
     return(CodeBuilder.Indent(indent) + scope.AsString() + " event " + returnType.Name + " " + name + ";");
 }
Ejemplo n.º 10
0
        public override string Generate(int indent)
        {
            if (returnTypeIsString)
            {
                var _attributes = string.Empty;

                foreach (AttributeGenerator attr in attributes)
                {
                    _attributes += attr.Generate(indent) + "\n";
                }

                var modSpace   = (modifier == PropertyModifier.None) ? string.Empty : " ";
                var definition = CodeBuilder.Indent(indent) + scope.AsString().ConstructHighlight() + " " + modifier.AsString().ConstructHighlight() + modSpace + returnTypeString + " " + name.LegalMemberName() + " " + GetterSetter();
                var output     = defaultValue == null && returnType.IsValueType && returnType.IsPrimitive ? (hasGetter || hasSetter ? string.Empty : ";") : hasDefault ? " = " + defaultValue.As().Code(true) + ";" : string.Empty;
                return(_attributes + definition + output);
            }
            else
            {
                var _attributes = string.Empty;

                foreach (AttributeGenerator attr in attributes)
                {
                    _attributes += attr.Generate(indent) + "\n";
                }

                var modSpace   = (modifier == PropertyModifier.None) ? string.Empty : " ";
                var definition = CodeBuilder.Indent(indent) + scope.AsString().ConstructHighlight() + " " + modifier.AsString() + modSpace + returnType.As().CSharpName() + " " + name + " " + GetterSetter();
                var output     = defaultValue == null && stringIsValueType && stringIsPrimitive ? (hasGetter || hasSetter ? string.Empty : ";") : hasDefault ? " = " + defaultValue.As().Code(true) + ";" : string.Empty;
                return(_attributes + definition + output);
            }

            string GetterSetter()
            {
                var result = string.Empty;

                if (multiStatementGetter || multiStatementSetter)
                {
                    return((getterBody == null ? string.Empty : "\n" + CodeBuilder.Indent(indent) + "{\n" + Getter()) + (setterBody == null ? string.Empty : "\n" + Setter() + "\n") + "\n" + CodeBuilder.Indent(indent) + "}");
                }
                else
                {
                    return("{ " + (getterBody == null ? string.Empty : Getter() + " ") + (setterBody == null ? string.Empty : (getterBody == null ? " " : string.Empty) + Setter() + " ") + "}");
                }
            }

            string Getter()
            {
                if (multiStatementGetter)
                {
                    return(CodeBuilder.Indent(indent + 1) + "get\n".ConstructHighlight() + CodeBuilder.Indent(indent + 1) + "{\n" + CodeBuilder.Indent(indent + 2) + getterBody.Replace("\n", "\n" + CodeBuilder.Indent(indent + 2)) + "\n" + CodeBuilder.Indent(indent + 1) + "}");
                }
                else
                {
                    return("get".ConstructHighlight() + " => " + getterBody.Replace("\n", "\n" + CodeBuilder.Indent(indent + 1)) + ";");
                }
            }

            string Setter()
            {
                if (multiStatementSetter)
                {
                    return(CodeBuilder.Indent(indent + 1) + "set \n".ConstructHighlight() + "{\n" + setterBody.Replace("\n", "\n" + CodeBuilder.Indent(indent + 1)) + "\n}");
                }
                else
                {
                    return("set".ConstructHighlight() + " => " + setterBody.Replace("\n", "\n" + CodeBuilder.Indent(indent + 1)) + ";");
                }
            }
        }
Ejemplo n.º 11
0
 protected override sealed string GenerateBody(int indent)
 {
     if (string.IsNullOrEmpty(name))
     {
         return(string.Empty);
     }
     return(string.IsNullOrEmpty(body) ? string.Empty : body.Contains("\n") ? body.Replace("\n", "\n" + CodeBuilder.Indent(indent)).Insert(0, CodeBuilder.Indent(indent)) : CodeBuilder.Indent(indent) + body);
 }