166 references to Type
CSharpSyntaxGenerator (166)
AbstractFileWriter.cs (3)
142return field.Type != "SyntaxToken" && !IsAnyList(field.Type) && !IsOverride(field) && !IsNew(field); 148return getNullableAwareType(field.Type, optionalOrLazy: IsOptional(field) || !green, green);
Grammar\GrammarGenerator.cs (7)
329=> field.Type == "bool" ? new Production("") : 330field.Type == "CSharpSyntaxNode" ? RuleReference(field.Kinds.Single().Name + "Syntax") : 331field.Type.StartsWith("SeparatedSyntaxList") ? HandleSeparatedList(field, field.Type[("SeparatedSyntaxList".Length + 1)..^1]) : 332field.Type.StartsWith("SyntaxList") ? HandleList(field, field.Type[("SyntaxList".Length + 1)..^1]) : 333field.IsToken ? HandleTokenField(field) : RuleReference(field.Type);
Model\Field.cs (1)
74public bool IsToken => Type == "SyntaxToken";
SignatureWriter.cs (6)
70if (IsNodeOrNodeList(field.Type)) 72_writer.WriteLine(" public abstract {0}{1} {2} {{ get; }}", "", field.Type, field.Name); 85var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 86var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 91_writer.WriteLine(" public {0}{1}{2} {3} {{ get; }}", "", "", field.Type, field.Name); 97_writer.WriteLine(" public {0}{1}{2} {3} {{ get; }}", "", "", field.Type, field.Name);
SourceWriter.cs (124)
153var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 154var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 158if (IsNodeOrNodeList(field.Type)) 163if (IsSeparatedNodeList(field.Type) || 164IsNodeList(field.Type)) 166WriteLine($"public abstract {(IsNew(field) ? "new " : "")}CoreSyntax.{field.Type} {field.Name} {{ get; }}"); 180WriteLine($"public abstract {(IsNew(field) ? "new " : "")}{field.Type} {field.Name} {{ get; }}"); 192var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 193var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 203WriteLine($"internal readonly {field.Type} {CamelCase(field.Name)};"); 248if (IsNodeList(field.Type)) 250var type = $"CoreSyntax.{field.Type}"; 253else if (IsSeparatedNodeList(field.Type)) 255var type = $"CoreSyntax.{field.Type}"; 258else if (field.Type == "SyntaxNodeOrTokenList") 272WriteLine($"public {OverrideOrNewModifier(field)}{field.Type} {field.Name} => this.{CamelCase(field.Name)};"); 327Write($", {field.Type} {CamelCase(field.Name)}"); 343if (IsAnyList(field.Type) || IsOptional(field)) 424f.Type == "SyntaxNodeOrTokenList" ? "CoreSyntax.SyntaxList<CSharpSyntaxNode>" : 425f.Type == "SyntaxTokenList" ? "CoreSyntax.SyntaxList<SyntaxToken>" : 426IsNodeList(f.Type) ? "CoreSyntax." + f.Type : 427IsSeparatedNodeList(f.Type) ? "CoreSyntax." + f.Type : 428f.Type; 439if (IsDerivedOrListOfDerived("SyntaxNode", field.Type) || IsDerivedOrListOfDerived("SyntaxToken", field.Type) || field.Type == "SyntaxNodeOrTokenList") 481var nodeFields = node.Fields.Where(nd => IsNodeOrNodeList(nd.Type)).ToList(); 498if (IsAnyList(f.Type)) 500else if (IsNode(f.Type)) 501return $"({f.Type})Visit(node.{f.Name})"; 552var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 553var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 580if (!IsAnyList(field.Type) && !IsOptional(field)) 584if (field.Type == "SyntaxToken" && field.Kinds != null && field.Kinds.Count > 0) 696var type = f.Type switch 699_ when IsSeparatedNodeList(f.Type) || IsNodeList(f.Type) => $"CoreSyntax.{f.Type}", 712f.Type == "SyntaxList<SyntaxToken>" || IsAnyList(f.Type) 732? an.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList() 734? nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList() 752var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 757if (IsNodeOrNodeList(field.Type)) 768if (IsAnyList(field.Type)) 770var argType = GetElementType(field.Type); 782if (IsAnyList(referencedNodeField.Type)) 784var argType = GetElementType(referencedNodeField.Type); 801WriteLine($"{"public"} abstract {(IsNew(field) ? "new " : "")}{field.Type} {field.Name} {{ get; }}"); 820if (IsAnyList(baseField.Type)) 822var argType = GetElementType(baseField.Type); 834if (IsAnyList(referencedNodeField.Type)) 836var argType = GetElementType(referencedNodeField.Type); 867var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 868var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 872if (field.Type is not "SyntaxToken" 875if (IsSeparatedNodeList(field.Type) || field.Type == "SyntaxNodeOrTokenList") 912if (field.Type == "SyntaxToken") 933else if (field.Type == "SyntaxList<SyntaxToken>") 952if (IsNodeList(field.Type)) 954WriteLine($" => new {field.Type}(GetRed(ref this.{CamelCase(field.Name)}, {i}));"); 956else if (IsSeparatedNodeList(field.Type)) 964WriteLine($"return red != null ? new {field.Type}(red, {GetChildIndex(i)}) : default;"); 968else if (field.Type == "SyntaxNodeOrTokenList") 992WriteLine($"{"public"} {OverrideOrNewModifier(field)}{field.Type} {field.Name} => ((InternalSyntax.{node.Name})this.Green).{field.Name};"); 1001.Where(t => t.field.Type is not "SyntaxToken" and not "SyntaxList<SyntaxToken>"); 1047.Where(t => t.field.Type is not "SyntaxToken" and not "SyntaxList<SyntaxToken>"); 1089if (field.Type == "SyntaxList<SyntaxToken>") 1092if (IsOptional(field) && IsNode(field.Type) && field.Type != "SyntaxToken") 1093return field.Type + "?"; 1095return field.Type; 1157if (IsDerivedOrListOfDerived("SyntaxNode", field.Type) || IsDerivedOrListOfDerived("SyntaxToken", field.Type) || field.Type == "SyntaxNodeOrTokenList") 1202if (baseField.Type != "SyntaxToken" && IsOptional(baseField) && !IsOptional(field)) 1254if (IsAnyList(field.Type)) 1272if (IsAnyList(referencedNodeField.Type)) 1289Node referencedNode = GetNode(field.Type); 1300var argType = GetElementType(field.Type); 1308var baseArgType = GetElementType(baseField.Type); 1320var argType = GetElementType(referencedNodeField.Type); 1379if (IsNodeOrNodeList(f.Type)) 1381if (IsAnyList(f.Type)) 1383else if (f.Type == "SyntaxToken") 1428return field.Type == "SyntaxToken" 1435var referencedNode = GetNode(field.Type); 1441return (!IsOptional(field) && !IsAnyList(field.Type) && !CanBeAutoCreated(node, field)) || IsValueField(field); 1446return !IsNodeOrNodeList(field.Type); 1475if (IsOptional(field) || CanBeAutoCreated(nd, field) || IsAnyList(field.Type)) 1520if (field.Type == "SyntaxToken") 1548else if (!IsAnyList(field.Type) && !IsOptional(field)) 1559if (f.Type == "SyntaxToken") 1567else if (f.Type == "SyntaxList<SyntaxToken>") 1569else if (IsNodeList(f.Type)) 1570return $"{CamelCase(f.Name)}.Node.ToGreenList<Syntax.InternalSyntax.{GetElementType(f.Type)}>()"; 1571else if (IsSeparatedNodeList(f.Type)) 1572return $"{CamelCase(f.Name)}.Node.ToGreenSeparatedList<Syntax.InternalSyntax.{GetElementType(f.Type)}>()"; 1573else if (f.Type == "SyntaxNodeOrTokenList") 1576return $"{CamelCase(f.Name)} == null ? null : (Syntax.InternalSyntax.{f.Type}){CamelCase(f.Name)}.Green"; 1578return $"(Syntax.InternalSyntax.{f.Type}){CamelCase(f.Name)}.Green"; 1596if (field.Type == "SyntaxList<SyntaxToken>") 1598if (IsOptional(field) && IsNode(field.Type) && field.Type != "SyntaxToken") 1599return field.Type + "?"; 1600return field.Type; 1607if (IsOptional(field) || IsAnyList(field.Type)) 1612else if (field.Type == "SyntaxToken") 1626var referencedNode = GetNode(field.Type); 1636if (field.Type == "SyntaxToken" && CanBeAutoCreated(nd, field) && field.Kinds.Count > 1) 1701int listCount = nd.Fields.Count(f => IsAnyNodeList(f.Type) && !IsAttributeOrModifiersList(f)); 1704return nd.Fields.First(f => IsAnyNodeList(f.Type) && !IsAttributeOrModifiersList(f)); 1709int nodeCount = nd.Fields.Count(f => IsNode(f.Type) && f.Type != "SyntaxToken"); 1712return nd.Fields.First(f => IsNode(f.Type) && f.Type != "SyntaxToken"); 1787if (IsNode(f.Type) && !IsOptional(f) && f.Type != "SyntaxToken") 1812if (IsOptional(f) || IsAnyList(f.Type)) 1837return field.Type == "SyntaxToken" && field.Kinds != null && field.Kinds.Count == 1 && field.Kinds[0].Name == "IdentifierToken"; 1842return field.Type == "IdentifierNameSyntax";
TestWriter.cs (24)
97var valueFields = node.Fields.Where(n => !IsNodeOrNodeList(n.Type)); 98var nodeFields = node.Fields.Where(n => IsNodeOrNodeList(n.Type)); 135Write($"default({field.Type})"); 138else if (IsAnyList(field.Type)) 143typeName = internalNamespace + field.Type.Replace("<", "<" + csharpNamespace); 147typeName = (field.Type == "SyntaxList<SyntaxToken>") ? "SyntaxTokenList" : field.Type; 151else if (field.Type == "SyntaxToken") 177else if (field.Type == "CSharpSyntaxNode") 184var type = field.Type; 206Write($"new {field.Type}()"); 229var valueFields = node.Fields.Where(n => !IsNodeOrNodeList(n.Type)); 230var nodeFields = node.Fields.Where(n => IsNodeOrNodeList(n.Type)); 249if (!isGreen && field.Type == "SyntaxToken") 258else if (field.Type == "SyntaxToken") 272if (field.Type == "SyntaxToken") 277field.Type == "SyntaxTokenList" || 278field.Type.StartsWith("SyntaxList<") || 279field.Type.StartsWith("SeparatedSyntaxList<")) 297WriteLine($"Assert.Equal(new {field.Type}(), node.{field.Name});"); 339var valueFields = node.Fields.Where(n => !IsNodeOrNodeList(n.Type)); 340var nodeFields = node.Fields.Where(n => IsNodeOrNodeList(n.Type)); 367var valueFields = node.Fields.Where(n => !IsNodeOrNodeList(n.Type)); 368var nodeFields = node.Fields.Where(n => IsNodeOrNodeList(n.Type));
TreeFlattening.cs (1)
36if (makeOptional && !AbstractFileWriter.IsAnyNodeList(field.Type))