Exemplo n.º 1
0
        private static string GenerateElementConstructors(CompiledTemplateData compiledTemplateData, out List <ProcessedType> dynamicElementTypes)
        {
            StringBuilder builder = new StringBuilder(2048);

            dynamicElementTypes = new List <ProcessedType>();

            foreach (KeyValuePair <Type, ProcessedType> kvp in TypeProcessor.typeMap)
            {
                if (kvp.Value.isDynamic)
                {
                    dynamicElementTypes.Add(kvp.Value);
                }

                if (kvp.Key.IsAbstract || kvp.Value.references == 0 || kvp.Value.id < 0)
                {
                    continue;
                }

                builder.Append(s_Indent16);
                builder.Append("case ");
                builder.Append(kvp.Value.id);
                builder.AppendLine(":");
                builder.Append(s_Indent20);
                builder.Append("return new ConstructedElement(");
                builder.Append(compiledTemplateData.GetTagNameId(kvp.Value.tagName));
                builder.Append(", new ");
                TypeNameGenerator.GetTypeName(kvp.Key, builder);
                builder.Append("());");
                builder.AppendLine();
            }

            return(builder.ToString());
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Generator"/> class.
 /// </summary>
 /// <param name="generatorMode">The generator mode.</param>
 private Generator(GeneratorMode generatorMode)
 {
     GeneratorMode       = generatorMode;
     _fieldGenerator     = new FieldGenerator(this);
     _eventGenerator     = new EventGenerator(this);
     _methodGenerator    = new MethodGenerator(this);
     _parameterGenerator = new ParameterGenerator(this);
     _propertyGenerator  = new PropertyGenerator(this);
     _typeNameGenerator  = new TypeNameGenerator(this);
 }
Exemplo n.º 3
0
        private static string GenerateCustomPainterTypes()
        {
            string retn = "";

            #if UNITY_EDITOR
            foreach (Type painterType in UnityEditor.TypeCache.GetTypesWithAttribute <CustomPainterAttribute>())
            {
                CustomPainterAttribute attr = painterType.GetCustomAttribute <CustomPainterAttribute>();
                retn += $"                {{ \"{attr.name}\", typeof({TypeNameGenerator.GetTypeName(painterType)}) }},\n";
            }
            #endif
            return(retn);
        }
        public void Type_name_generator_generate()
        {
            //Arrange
            var    generator    = new TypeNameGenerator();
            var    schema       = new JsonSchema4();
            string typeNameHint = "My hint";

            string[] reservedNames = new string[] { "Reserved", "Names" };

            //Act
            string response = generator.Generate(schema, typeNameHint, reservedNames);

            //Assert
            Assert.Equal(typeNameHint, response);
        }
Exemplo n.º 5
0
        private static string GenerateDynamicTemplates(CompiledTemplateData compiledTemplateData)
        {
            if (compiledTemplateData.dynamicTemplates == null)
            {
                return(string.Empty);
            }

            StringBuilder builder = new StringBuilder(2048);

            for (int i = 0; i < compiledTemplateData.dynamicTemplates.size; i++)
            {
                DynamicTemplate template = compiledTemplateData.dynamicTemplates.array[i];
                builder.Append(s_Indent12);
                builder.Append("new DynamicTemplate(typeof(");
                TypeNameGenerator.GetTypeName(template.type, builder);
                builder.Append("), ");
                builder.Append(template.typeId);
                builder.Append(", ");
                builder.Append(template.templateId);
                builder.Append("),\n");
            }

            return(builder.ToString());
        }