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)
187var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 188var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 192if (IsNodeOrNodeList(field.Type)) 197if (IsSeparatedNodeList(field.Type) || 198IsNodeList(field.Type)) 200WriteLine($"public abstract {(IsNew(field) ? "new " : "")}CoreSyntax.{field.Type} {field.Name} {{ get; }}"); 214WriteLine($"public abstract {(IsNew(field) ? "new " : "")}{field.Type} {field.Name} {{ get; }}"); 226var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 227var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 237WriteLine($"internal readonly {field.Type} {CamelCase(field.Name)};"); 282if (IsNodeList(field.Type)) 284var type = $"CoreSyntax.{field.Type}"; 287else if (IsSeparatedNodeList(field.Type)) 289var type = $"CoreSyntax.{field.Type}"; 292else if (field.Type == "SyntaxNodeOrTokenList") 306WriteLine($"public {OverrideOrNewModifier(field)}{field.Type} {field.Name} => this.{CamelCase(field.Name)};"); 361Write($", {field.Type} {CamelCase(field.Name)}"); 377if (IsAnyList(field.Type) || IsOptional(field)) 458f.Type == "SyntaxNodeOrTokenList" ? "CoreSyntax.SyntaxList<CSharpSyntaxNode>" : 459f.Type == "SyntaxTokenList" ? "CoreSyntax.SyntaxList<SyntaxToken>" : 460IsNodeList(f.Type) ? "CoreSyntax." + f.Type : 461IsSeparatedNodeList(f.Type) ? "CoreSyntax." + f.Type : 462f.Type; 473if (IsDerivedOrListOfDerived("SyntaxNode", field.Type) || IsDerivedOrListOfDerived("SyntaxToken", field.Type) || field.Type == "SyntaxNodeOrTokenList") 515var nodeFields = node.Fields.Where(nd => IsNodeOrNodeList(nd.Type)).ToList(); 532if (IsAnyList(f.Type)) 534else if (IsNode(f.Type)) 535return $"({f.Type})Visit(node.{f.Name})"; 586var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 587var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 614if (!IsAnyList(field.Type) && !IsOptional(field)) 618if (field.Type == "SyntaxToken" && field.Kinds != null && field.Kinds.Count > 0) 730var type = f.Type switch 733_ when IsSeparatedNodeList(f.Type) || IsNodeList(f.Type) => $"CoreSyntax.{f.Type}", 746f.Type == "SyntaxList<SyntaxToken>" || IsAnyList(f.Type) 766? an.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList() 768? nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList() 786var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 791if (IsNodeOrNodeList(field.Type)) 802if (IsAnyList(field.Type)) 804var argType = GetElementType(field.Type); 816if (IsAnyList(referencedNodeField.Type)) 818var argType = GetElementType(referencedNodeField.Type); 835WriteLine($"{"public"} abstract {(IsNew(field) ? "new " : "")}{field.Type} {field.Name} {{ get; }}"); 854if (IsAnyList(baseField.Type)) 856var argType = GetElementType(baseField.Type); 868if (IsAnyList(referencedNodeField.Type)) 870var argType = GetElementType(referencedNodeField.Type); 901var valueFields = nd.Fields.Where(n => !IsNodeOrNodeList(n.Type)).ToList(); 902var nodeFields = nd.Fields.Where(n => IsNodeOrNodeList(n.Type)).ToList(); 906if (field.Type is not "SyntaxToken" 909if (IsSeparatedNodeList(field.Type) || field.Type == "SyntaxNodeOrTokenList") 946if (field.Type == "SyntaxToken") 967else if (field.Type == "SyntaxList<SyntaxToken>") 986if (IsNodeList(field.Type)) 988WriteLine($" => new {field.Type}(GetRed(ref this.{CamelCase(field.Name)}, {i}));"); 990else if (IsSeparatedNodeList(field.Type)) 998WriteLine($"return red != null ? new {field.Type}(red, {GetChildIndex(i)}) : default;"); 1002else if (field.Type == "SyntaxNodeOrTokenList") 1026WriteLine($"{"public"} {OverrideOrNewModifier(field)}{field.Type} {field.Name} => ((InternalSyntax.{node.Name})this.Green).{field.Name};"); 1035.Where(t => t.field.Type is not "SyntaxToken" and not "SyntaxList<SyntaxToken>"); 1081.Where(t => t.field.Type is not "SyntaxToken" and not "SyntaxList<SyntaxToken>"); 1123if (field.Type == "SyntaxList<SyntaxToken>") 1126if (IsOptional(field) && IsNode(field.Type) && field.Type != "SyntaxToken") 1127return field.Type + "?"; 1129return field.Type; 1192if (IsDerivedOrListOfDerived("SyntaxNode", field.Type) || IsDerivedOrListOfDerived("SyntaxToken", field.Type) || field.Type == "SyntaxNodeOrTokenList") 1237if (baseField.Type != "SyntaxToken" && IsOptional(baseField) && !IsOptional(field)) 1289if (IsAnyList(field.Type)) 1307if (IsAnyList(referencedNodeField.Type)) 1324Node referencedNode = GetNode(field.Type); 1335var argType = GetElementType(field.Type); 1343var baseArgType = GetElementType(baseField.Type); 1355var argType = GetElementType(referencedNodeField.Type); 1414if (IsNodeOrNodeList(f.Type)) 1416if (IsAnyList(f.Type)) 1418else if (f.Type == "SyntaxToken") 1463return field.Type == "SyntaxToken" 1470var referencedNode = GetNode(field.Type); 1476return (!IsOptional(field) && !IsAnyList(field.Type) && !CanBeAutoCreated(node, field)) || IsValueField(field); 1481return !IsNodeOrNodeList(field.Type); 1510if (IsOptional(field) || CanBeAutoCreated(nd, field) || IsAnyList(field.Type)) 1555if (field.Type == "SyntaxToken") 1583else if (!IsAnyList(field.Type) && !IsOptional(field)) 1594if (f.Type == "SyntaxToken") 1602else if (f.Type == "SyntaxList<SyntaxToken>") 1604else if (IsNodeList(f.Type)) 1605return $"{CamelCase(f.Name)}.Node.ToGreenList<Syntax.InternalSyntax.{GetElementType(f.Type)}>()"; 1606else if (IsSeparatedNodeList(f.Type)) 1607return $"{CamelCase(f.Name)}.Node.ToGreenSeparatedList<Syntax.InternalSyntax.{GetElementType(f.Type)}>()"; 1608else if (f.Type == "SyntaxNodeOrTokenList") 1611return $"{CamelCase(f.Name)} == null ? null : (Syntax.InternalSyntax.{f.Type}){CamelCase(f.Name)}.Green"; 1613return $"(Syntax.InternalSyntax.{f.Type}){CamelCase(f.Name)}.Green"; 1631if (field.Type == "SyntaxList<SyntaxToken>") 1633if (IsOptional(field) && IsNode(field.Type) && field.Type != "SyntaxToken") 1634return field.Type + "?"; 1635return field.Type; 1642if (IsOptional(field) || IsAnyList(field.Type)) 1647else if (field.Type == "SyntaxToken") 1661var referencedNode = GetNode(field.Type); 1671if (field.Type == "SyntaxToken" && CanBeAutoCreated(nd, field) && field.Kinds.Count > 1) 1736int listCount = nd.Fields.Count(f => IsAnyNodeList(f.Type) && !IsAttributeOrModifiersList(f)); 1739return nd.Fields.First(f => IsAnyNodeList(f.Type) && !IsAttributeOrModifiersList(f)); 1744int nodeCount = nd.Fields.Count(f => IsNode(f.Type) && f.Type != "SyntaxToken"); 1747return nd.Fields.First(f => IsNode(f.Type) && f.Type != "SyntaxToken"); 1822if (IsNode(f.Type) && !IsOptional(f) && f.Type != "SyntaxToken") 1847if (IsOptional(f) || IsAnyList(f.Type)) 1872return field.Type == "SyntaxToken" && field.Kinds != null && field.Kinds.Count == 1 && field.Kinds[0].Name == "IdentifierToken"; 1877return 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))