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()); }
/// <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); }
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); }
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()); }