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)
186var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 187var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 191if (IsNodeOrNodeList(field.Type)) 196if (IsSeparatedNodeList(field.Type) || 197IsNodeList(field.Type)) 199WriteLine($"public abstract {(IsNew(field) ? "new " : "")}CoreSyntax.{field.Type} {field.Name} {{ get; }}"); 213WriteLine($"public abstract {(IsNew(field) ? "new " : "")}{field.Type} {field.Name} {{ get; }}"); 225var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 226var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 236WriteLine($"internal readonly {field.Type} {CamelCase(field.Name)};"); 281if (IsNodeList(field.Type)) 283var type = $"CoreSyntax.{field.Type}"; 286else if (IsSeparatedNodeList(field.Type)) 288var type = $"CoreSyntax.{field.Type}"; 291else if (field.Type == "SyntaxNodeOrTokenList") 305WriteLine($"public {OverrideOrNewModifier(field)}{field.Type} {field.Name} => this.{CamelCase(field.Name)};"); 360Write($", {field.Type} {CamelCase(field.Name)}"); 376if (IsAnyList(field.Type) || IsOptional(field)) 457f.Type == "SyntaxNodeOrTokenList" ? "CoreSyntax.SyntaxList<CSharpSyntaxNode>" : 458f.Type == "SyntaxTokenList" ? "CoreSyntax.SyntaxList<SyntaxToken>" : 459IsNodeList(f.Type) ? "CoreSyntax." + f.Type : 460IsSeparatedNodeList(f.Type) ? "CoreSyntax." + f.Type : 461f.Type; 472if (IsDerivedOrListOfDerived("SyntaxNode", field.Type) || IsDerivedOrListOfDerived("SyntaxToken", field.Type) || field.Type == "SyntaxNodeOrTokenList") 514var nodeFields = node.Fields.Where(nd => IsNodeOrNodeList(nd.Type)).ToList(); 531if (IsAnyList(f.Type)) 533else if (IsNode(f.Type)) 534return $"({f.Type})Visit(node.{f.Name})"; 585var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 586var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 613if (!IsAnyList(field.Type) && !IsOptional(field)) 617if (field.Type == "SyntaxToken" && field.Kinds != null && field.Kinds.Count > 0) 729var type = f.Type switch 732_ when IsSeparatedNodeList(f.Type) || IsNodeList(f.Type) => $"CoreSyntax.{f.Type}", 745f.Type == "SyntaxList<SyntaxToken>" || IsAnyList(f.Type) 765? an.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList() 767? nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList() 785var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 790if (IsNodeOrNodeList(field.Type)) 801if (IsAnyList(field.Type)) 803var argType = GetElementType(field.Type); 815if (IsAnyList(referencedNodeField.Type)) 817var argType = GetElementType(referencedNodeField.Type); 834WriteLine($"{"public"} abstract {(IsNew(field) ? "new " : "")}{field.Type} {field.Name} {{ get; }}"); 853if (IsAnyList(baseField.Type)) 855var argType = GetElementType(baseField.Type); 867if (IsAnyList(referencedNodeField.Type)) 869var argType = GetElementType(referencedNodeField.Type); 900var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 901var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 905if (field.Type is not "SyntaxToken" 908if (IsSeparatedNodeList(field.Type) || field.Type == "SyntaxNodeOrTokenList") 945if (field.Type == "SyntaxToken") 966else if (field.Type == "SyntaxList<SyntaxToken>") 985if (IsNodeList(field.Type)) 987WriteLine($" => new {field.Type}(GetRed(ref this.{CamelCase(field.Name)}, {i}));"); 989else if (IsSeparatedNodeList(field.Type)) 997WriteLine($"return red != null ? new {field.Type}(red, {GetChildIndex(i)}) : default;"); 1001else if (field.Type == "SyntaxNodeOrTokenList") 1025WriteLine($"{"public"} {OverrideOrNewModifier(field)}{field.Type} {field.Name} => ((InternalSyntax.{node.Name})this.Green).{field.Name};"); 1034.Where(t => t.field.Type is not "SyntaxToken" and not "SyntaxList<SyntaxToken>"); 1080.Where(t => t.field.Type is not "SyntaxToken" and not "SyntaxList<SyntaxToken>"); 1122if (field.Type == "SyntaxList<SyntaxToken>") 1125if (IsOptional(field) && IsNode(field.Type) && field.Type != "SyntaxToken") 1126return field.Type + "?"; 1128return field.Type; 1191if (IsDerivedOrListOfDerived("SyntaxNode", field.Type) || IsDerivedOrListOfDerived("SyntaxToken", field.Type) || field.Type == "SyntaxNodeOrTokenList") 1236if (baseField.Type != "SyntaxToken" && IsOptional(baseField) && !IsOptional(field)) 1288if (IsAnyList(field.Type)) 1306if (IsAnyList(referencedNodeField.Type)) 1323Node referencedNode = GetNode(field.Type); 1334var argType = GetElementType(field.Type); 1342var baseArgType = GetElementType(baseField.Type); 1354var argType = GetElementType(referencedNodeField.Type); 1413if (IsNodeOrNodeList(f.Type)) 1415if (IsAnyList(f.Type)) 1417else if (f.Type == "SyntaxToken") 1462return field.Type == "SyntaxToken" 1469var referencedNode = GetNode(field.Type); 1475return (!IsOptional(field) && !IsAnyList(field.Type) && !CanBeAutoCreated(node, field)) || IsValueField(field); 1480return !IsNodeOrNodeList(field.Type); 1509if (IsOptional(field) || CanBeAutoCreated(nd, field) || IsAnyList(field.Type)) 1554if (field.Type == "SyntaxToken") 1582else if (!IsAnyList(field.Type) && !IsOptional(field)) 1593if (f.Type == "SyntaxToken") 1601else if (f.Type == "SyntaxList<SyntaxToken>") 1603else if (IsNodeList(f.Type)) 1604return $"{CamelCase(f.Name)}.Node.ToGreenList<Syntax.InternalSyntax.{GetElementType(f.Type)}>()"; 1605else if (IsSeparatedNodeList(f.Type)) 1606return $"{CamelCase(f.Name)}.Node.ToGreenSeparatedList<Syntax.InternalSyntax.{GetElementType(f.Type)}>()"; 1607else if (f.Type == "SyntaxNodeOrTokenList") 1610return $"{CamelCase(f.Name)} == null ? null : (Syntax.InternalSyntax.{f.Type}){CamelCase(f.Name)}.Green"; 1612return $"(Syntax.InternalSyntax.{f.Type}){CamelCase(f.Name)}.Green"; 1630if (field.Type == "SyntaxList<SyntaxToken>") 1632if (IsOptional(field) && IsNode(field.Type) && field.Type != "SyntaxToken") 1633return field.Type + "?"; 1634return field.Type; 1641if (IsOptional(field) || IsAnyList(field.Type)) 1646else if (field.Type == "SyntaxToken") 1660var referencedNode = GetNode(field.Type); 1670if (field.Type == "SyntaxToken" && CanBeAutoCreated(nd, field) && field.Kinds.Count > 1) 1735int listCount = nd.Fields.Count(f => IsAnyNodeList(f.Type) && !IsAttributeOrModifiersList(f)); 1738return nd.Fields.First(f => IsAnyNodeList(f.Type) && !IsAttributeOrModifiersList(f)); 1743int nodeCount = nd.Fields.Count(f => IsNode(f.Type) && f.Type != "SyntaxToken"); 1746return nd.Fields.First(f => IsNode(f.Type) && f.Type != "SyntaxToken"); 1821if (IsNode(f.Type) && !IsOptional(f) && f.Type != "SyntaxToken") 1846if (IsOptional(f) || IsAnyList(f.Type)) 1871return field.Type == "SyntaxToken" && field.Kinds != null && field.Kinds.Count == 1 && field.Kinds[0].Name == "IdentifierToken"; 1876return 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))