コード例 #1
0
        private void AddParameters(SyntaxWriter syntax, IList <ParameterInfoWrapper> parameters)
        {
            syntax.WriteRaw("(");
            if (parameters.Count != 0)
            {
                // Used to track if need a trailing comma
                bool isFirstParameter = true;
                foreach (var parameter in parameters)
                {
                    if (!isFirstParameter)
                    {
                        syntax.WriteRaw(",");
                    }

                    syntax.WriteNewLineWithTab();
                    syntax.WriteTypeName(parameter.ParameterType);
                    syntax.WriteRaw(" " + parameter.Name);
                    isFirstParameter = false;
                }

                syntax.WriteRaw("\n");
            }

            syntax.WriteRaw(")");
        }
コード例 #2
0
        public string GenerateSyntax(TypeWrapper type)
        {
            var syntax = new SyntaxWriter(this._version);

            if (type.IsPublic)
                syntax.WriteToken("public");

            if (type.IsEnum)
            {
                syntax.WriteToken("enum");
                syntax.WriteTypeName(type);
            }
            else
            {
                if (type.IsSealed)
                    syntax.WriteToken("sealed");
                if (type.IsAbstract)
                    syntax.WriteToken("abstract");
                if (type.IsStatic)
                    syntax.WriteToken("static");

                if (type.IsClass)
                    syntax.WriteToken("class");
                else if (type.IsInterface)
                    syntax.WriteToken("interface");
                else if (type.IsValueType)
                    syntax.WriteToken("struct");

                syntax.WriteTypeName(type);

                var baseType = type.BaseType;
                if (baseType != null)
                {
                    syntax.WriteRaw(" :");
                    syntax.WriteTypeName(baseType);
                }

                var interfaces = type.GetInterfaces();
                if (interfaces.Count > 0)
                {
                    syntax.WriteNewLineWithTab();

                    syntax.BeginCommaDelimitedList();
                    foreach (var face in interfaces.OrderBy(x => x.Name))
                    {
                        syntax.WriteTypeName(face);
                    }
                    syntax.EndCommaDelimitedList();
                }
            }

            return syntax.CurrentSyntax;
        }
コード例 #3
0
        public string GenerateSyntax(TypeWrapper type)
        {
            var syntax = new SyntaxWriter(this._version);

            syntax.WriteAttributes(type);

            if (type.IsPublic)
            {
                syntax.WriteToken("public");
            }

            if (type.IsEnum)
            {
                syntax.WriteToken("enum");
                syntax.WriteTypeName(type);
            }
            else
            {
                if (type.IsSealed)
                {
                    syntax.WriteToken("sealed");
                }
                if (type.IsAbstract)
                {
                    syntax.WriteToken("abstract");
                }
                if (type.IsStatic)
                {
                    syntax.WriteToken("static");
                }

                if (type.IsClass)
                {
                    syntax.WriteToken("class");
                }
                else if (type.IsInterface)
                {
                    syntax.WriteToken("interface");
                }
                else if (type.IsValueType)
                {
                    syntax.WriteToken("struct");
                }

                syntax.WriteTypeName(type);

                var baseType = type.BaseType;
                if (baseType != null &&
                    !string.Equals(baseType.FullName, _objectTypeName, StringComparison.OrdinalIgnoreCase))
                {
                    syntax.WriteRaw(" :");
                    syntax.WriteTypeName(baseType);
                }

                var interfaces = type.GetInterfaces();
                if (interfaces.Count > 0)
                {
                    syntax.WriteNewLineWithTab();

                    syntax.BeginCommaDelimitedList();
                    foreach (var face in interfaces.OrderBy(x => x.Name))
                    {
                        syntax.WriteTypeName(face);
                    }
                    syntax.EndCommaDelimitedList();
                }
            }

            return(syntax.CurrentSyntax);
        }
コード例 #4
0
        private void AddParameters(SyntaxWriter syntax, IList<ParameterInfoWrapper> parameters)
        {
            syntax.WriteRaw("(");
            if (parameters.Count != 0)
            {
                // Used to track if need a trailing comma
                bool isFirstParameter = true;
                foreach (var parameter in parameters)
                {
                    if (!isFirstParameter)
                        syntax.WriteRaw(",");

                    syntax.WriteNewLineWithTab();
                    syntax.WriteTypeName(parameter.ParameterType);
                    syntax.WriteRaw(" " + parameter.Name);
                    isFirstParameter = false;
                }

                syntax.WriteRaw("\n");
            }

            syntax.WriteRaw(")");
        }