61 references to Type
BoundTreeGenerator (61)
BoundNodeClassWriter.cs (60)
426select mostSpecific.Type + " " + ToCamelCase(field.Name)); 494select ToCamelCase(field.Name) + " As " + field.Type); 572select mostSpecific.Type + " " + ToCamelCase(field.Name)); 614select ToCamelCase(field.Name) + " As " + field.Type); 670bool useIsDefaultProperty = GetGenericType(field.Type) is "ImmutableArray" or "OneOrMany"; 759return AllFields(node).Where(field => IsDerivedOrListOfDerived("BoundNode", field.Type)); 769return AllFields(node).Where(field => TypeIsSymbol(field) || (IsImmutableArray(field.Type, out var elementType) && TypeIsSymbol(elementType))); 779return TypeIsNonTypeSymbol(field) || (IsImmutableArray(field.Type, out var elementType) && TypeIsNonTypeSymbol(elementType)); 788if (_targetLang == TargetLanguage.CSharp && (f.Null.ToUpperInvariant() is ("ALLOW" or "ALWAYS")) && !f.Type.EndsWith('?') && !IsValueType(f.Type)) 810if (f.Type.EndsWith('?')) 816else if (!IsValueType(f.Type) || GetGenericType(f.Type) == "ImmutableArray") 840WriteLine("public override {0}{1} {2} {{ get; }}", (IsNew(field) ? "new " : ""), field.Type, field.Name); 852WriteLine($"public new {field.Type} {field.Name} => base.{field.Name}{suppression};"); 856WriteLine("public {0}{1} {2} {{ get; }}", (IsNew(field) ? "new " : ""), field.Type, field.Name); 862WriteLine("Private {0}ReadOnly _{2} As {1}", (IsNew(field) ? "Shadows " : ""), field.Type, field.Name); 863WriteLine("Public {0}ReadOnly Property {2} As {1}", (IsNew(field) ? "Shadows " : IsPropertyOverrides(field) ? "Overrides " : ""), field.Type, field.Name); 963Comma(AllSpecifiableFields(node), field => string.Format("{0} {1}", GetField(node, field.Name).Type, ToCamelCase(field.Name))); 997if (IsValueType(field.Type) && field.Type[^1] == '?') 1000if (GetGenericType(field.Type) == "OneOrMany") 1012Comma(AllSpecifiableFields(node), field => string.Format("{1} As {0}", field.Type, ToCamelCase(field.Name))); 1042if (!IsValueType(field.Type)) 1045if (GetGenericType(field.Type) == "OneOrMany") 1052private static bool TypeIsTypeSymbol(Field field) => field.Type.TrimEnd('?') == "TypeSymbol"; 1054private static bool TypeIsSymbol(Field field) => TypeIsSymbol(field.Type); 1057private static bool TypeIsNonTypeSymbol(Field field) => TypeIsNonTypeSymbol(field.Type); 1192var fields = AllFields(node).Where(f => IsDerivedOrListOfDerived("BoundNode", f.Type) && !SkipInVisitor(f)); 1202WriteLine("this.Visit{1}(node.{0});", field.Name, IsNodeList(field.Type) ? "List" : ""); 1222foreach (Field field in AllFields(node).Where(f => IsDerivedOrListOfDerived("BoundNode", f.Type) && !SkipInVisitor(f))) 1223WriteLine("Me.Visit{1}(node.{0})", field.Name, IsNodeList(field.Type) ? "List" : ""); 1263if (IsDerivedType("BoundNode", field.Type)) 1265else if (IsListOfDerived("BoundNode", field.Type)) 1267if (IsImmutableArray(field.Type, out _) && FieldNullHandling(node, field.Name) == NullHandling.Disallow) 1336if (IsDerivedType("BoundNode", field.Type)) 1338else if (IsListOfDerived("BoundNode", field.Type)) 1392if (!IsImmutableArray(field.Type, out string elementType)) 1394WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.Visit{field.Type.TrimEnd('?')}(node.{field.Name});"); 1398WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitLocals(node.{field.Name});"); 1402WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitDeclaredLocalFunctions(node.{field.Name});"); 1406WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitSymbols<{elementType}>(node.{field.Name});"); 1427field => IsDerivedOrListOfDerived("BoundNode", field.Type) || 1473ParenList(AllSpecifiableFields(node), field => IsDerivedOrListOfDerived("BoundNode", field.Type) || field.Type == "TypeSymbol" ? ToCamelCase(field.Name) : string.Format("node.{0}", field.Name)); 1545WriteLine($"{field.Type} {ToCamelCase(field.Name)} = GetUpdatedSymbol(node, node.{field.Name});"); 1550WriteLine($"{field.Type} {ToCamelCase(field.Name)} = GetUpdatedArray(node, node.{field.Name});"); 1620else if (IsDerivedOrListOfDerived("BoundNode", field.Type)) 1654return typeIsUpdated(f.Type); 1658=> IsImmutableArray(field.Type, out var elementType) && TypeIsSymbol(elementType) && typeIsUpdated(elementType); 1913WriteLine($"{field.Type} {ToCamelCase(field.Name)} = node.{field.Name};"); 1915else if (IsNodeList(field.Type)) 1917WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitList(node.{field.Name});"); 1921WriteLine($"{field.Type} {ToCamelCase(field.Name)} = ({field.Type})this.Visit(node.{field.Name});"); 1929WriteLine("Dim {0} As {2} = node.{1}", ToCamelCase(field.Name), field.Name, field.Type); 1931else if (IsNodeList(field.Type)) 1933WriteLine("Dim {0} As {2} = Me.VisitList(node.{1})", ToCamelCase(field.Name), field.Name, field.Type); 1937WriteLine("Dim {0} As {2} = DirectCast(Me.Visit(node.{1}), {2})", ToCamelCase(field.Name), field.Name, field.Type);
Program.cs (1)
88if (field.Type == "Conversion")