183 references to WriteLine
BoundTreeGenerator (183)
BoundNodeClassWriter.cs (183)
130WriteLine("{{"); 137WriteLine("}}"); 155WriteLine("// <auto-generated />"); 156WriteLine("#nullable enable"); 159WriteLine("' <auto-generated />"); break; 210WriteLine("using {0};", nsName); break; 212WriteLine("Imports {0}", nsName); break; 223WriteLine("namespace Microsoft.CodeAnalysis.CSharp"); 227WriteLine("Namespace Microsoft.CodeAnalysis.VisualBasic"); 244WriteLine("End Namespace"); 256WriteLine("internal enum BoundKind : byte"); 259WriteLine("{0},", FixKeyword(StripBound(node.Name))); 264WriteLine("Friend Enum BoundKind as Byte"); 267WriteLine("{0}", FixKeyword(StripBound(node.Name))); 269WriteLine("End Enum"); 303WriteLine("internal {2}partial class {0} : {1}", node.Name, node.Base, abstr); 315WriteLine("Partial Friend {1}Class {0}", node.Name, abstr); 317WriteLine("Inherits {0}", node.Base); 337WriteLine("End Class"); 466WriteLine("this.{0} = {1};", field.Name, FieldNullHandling(node, field.Name) == NullHandling.Always ? "null" : ToCamelCase(field.Name)); 473WriteLine("Validate();"); 481WriteLine(@"[Conditional(""DEBUG"")]"); 482WriteLine("private partial void Validate();"); 531WriteLine("Me._{0} = {1}", field.Name, FieldNullHandling(node, field.Name) == NullHandling.Always ? "Nothing" : ToCamelCase(field.Name)); 538WriteLine("Validate()"); 542WriteLine("End Sub"); 547WriteLine("Private Partial Sub Validate()"); 548WriteLine("End Sub"); 602WriteLine("this.{0} = {1};", field.Name, FieldNullHandling(node, field.Name) == NullHandling.Always ? "null" : ToCamelCase(field.Name)); 641WriteLine("Me._{0} = {1}", field.Name, FieldNullHandling(node, field.Name) == NullHandling.Always ? "Nothing" : ToCamelCase(field.Name)); 646WriteLine("Validate()"); 650WriteLine("End Sub"); 676WriteLine("RoslynDebug.Assert(!{0}.IsDefault, \"Field '{0}' cannot be null (use Null=\\\"allow\\\" in BoundNodes.xml to remove this check)\");", ToCamelCase(field.Name)); 678WriteLine("RoslynDebug.Assert({0} is object, \"Field '{0}' cannot be null (make the type nullable in BoundNodes.xml to remove this check)\");", ToCamelCase(field.Name)); 683WriteLine("Debug.Assert(Not ({0}.IsDefault), \"Field '{0}' cannot be null (use Null=\"\"allow\"\" in BoundNodes.xml to remove this check)\")", ToCamelCase(field.Name)); 685WriteLine("Debug.Assert({0} IsNot Nothing, \"Field '{0}' cannot be null (use Null=\"\"allow\"\" in BoundNodes.xml to remove this check)\")", ToCamelCase(field.Name)); 841WriteLine("public override {0}{1} {2} {{ get; }}", (IsNew(field) ? "new " : ""), field.Type, field.Name); 853WriteLine($"public new {field.Type} {field.Name} => base.{field.Name}{suppression};"); 857WriteLine("public {0}{1} {2} {{ get; }}", (IsNew(field) ? "new " : ""), field.Type, field.Name); 863WriteLine("Private {0}ReadOnly _{2} As {1}", (IsNew(field) ? "Shadows " : ""), field.Type, field.Name); 864WriteLine("Public {0}ReadOnly Property {2} As {1}", (IsNew(field) ? "Shadows " : IsPropertyOverrides(field) ? "Overrides " : ""), field.Type, field.Name); 866WriteLine("Get"); 868WriteLine("Return _{0}", field.Name); 870WriteLine("End Get"); 872WriteLine("End Property"); 886WriteLine("[DebuggerStepThrough]"); 887WriteLine("public override BoundNode? Accept(BoundTreeVisitor visitor) => visitor.Visit{0}(this);", StripBound(name)); 892WriteLine("<DebuggerStepThrough>"); 893WriteLine("Public Overrides Function Accept(visitor as BoundTreeVisitor) As BoundNode"); 895WriteLine("Return visitor.Visit{0}(Me)", StripBound(name)); 897WriteLine("End Function"); 977WriteLine(";"); 978WriteLine("result.CopyAttributes(this);"); 979WriteLine("return result;"); 982WriteLine("return this;"); 1013WriteLine(" As {0}", node.Name); 1020WriteLine(" Then"); 1025WriteLine(""); 1026WriteLine("result.CopyAttributes(Me)"); 1027WriteLine("Return result"); 1029WriteLine("End If"); 1031WriteLine("Return Me"); 1034WriteLine("End Function"); 1076WriteLine("internal abstract partial class BoundTreeVisitor<A, R>"); 1080WriteLine("[MethodImpl(MethodImplOptions.NoInlining), DebuggerStepThrough]"); 1081WriteLine("internal R VisitInternal(BoundNode node, A arg)"); 1083WriteLine("switch (node.Kind)"); 1087WriteLine("case BoundKind.{0}:", FixKeyword(StripBound(node.Name))); 1089WriteLine("return Visit{0}(({1})node, arg);", StripBound(node.Name), node.Name); 1094WriteLine("return default(R)!;"); 1099WriteLine("internal abstract partial class BoundTreeVisitor<A, R>"); 1103WriteLine($"public virtual R Visit{StripBound(node.Name)}({node.Name} node, A arg) => this.DefaultVisit(node, arg);"); 1108WriteLine("internal abstract partial class BoundTreeVisitor"); 1112WriteLine($"public virtual BoundNode? Visit{StripBound(node.Name)}({node.Name} node) => this.DefaultVisit(node);"); 1119WriteLine("Friend MustInherit Partial Class BoundTreeVisitor(Of A, R)"); 1123WriteLine("<MethodImpl(MethodImplOptions.NoInlining), DebuggerStepThrough>"); 1124WriteLine("Friend Function VisitInternal(node As BoundNode, arg As A) As R"); 1126WriteLine("Select Case node.Kind"); 1130WriteLine("Case BoundKind.{0}", FixKeyword(StripBound(node.Name))); 1132WriteLine("Return Visit{0}(CType(node, {1}), arg)", StripBound(node.Name), node.Name); 1136WriteLine("End Select"); 1137WriteLine("Return DefaultVisit(node, arg)"); 1139WriteLine("End Function"); 1143WriteLine("End Class"); 1146WriteLine("Friend MustInherit Partial Class BoundTreeVisitor(Of A, R)"); 1150WriteLine("Public Overridable Function Visit{0}(node As {1}, arg As A) As R", StripBound(node.Name), node.Name); 1152WriteLine("Return Me.DefaultVisit(node, arg)"); 1154WriteLine("End Function"); 1158WriteLine("End Class"); 1161WriteLine("Friend MustInherit Partial Class BoundTreeVisitor"); 1165WriteLine(GetVisitFunctionDeclaration(node.Name, isOverride: false)); 1167WriteLine("Return Me.DefaultVisit(node)"); 1169WriteLine("End Function"); 1173WriteLine("End Class"); 1187WriteLine("internal abstract partial class BoundTreeWalker : BoundTreeVisitor"); 1194WriteLine($"{GetVisitFunctionDeclaration(node.Name, isOverride: true)} => null;"); 1197WriteLine(GetVisitFunctionDeclaration(node.Name, isOverride: true)); 1201WriteLine("this.Visit{1}(node.{0});", field.Name, IsNodeList(field.Type) ? "List" : ""); 1203WriteLine("return null;"); 1212WriteLine("Friend MustInherit Partial Class BoundTreeWalker"); 1214WriteLine("Inherits BoundTreeVisitor"); 1219WriteLine(GetVisitFunctionDeclaration(node.Name, isOverride: true)); 1222WriteLine("Me.Visit{1}(node.{0})", field.Name, IsNodeList(field.Type) ? "List" : ""); 1223WriteLine("Return Nothing"); 1225WriteLine("End Function"); 1230WriteLine("End Class"); 1245WriteLine("internal sealed class BoundTreeDumperNodeProducer : BoundTreeVisitor<object?, TreeDumperNode>"); 1247WriteLine("private BoundTreeDumperNodeProducer()"); 1250WriteLine("public static TreeDumperNode MakeTree(BoundNode node) => (new BoundTreeDumperNodeProducer()).Visit(node, null);"); 1257WriteLine("new TreeDumperNode[]"); 1279WriteLine(","); 1284WriteLine(","); 1290WriteLine(","); 1294WriteLine(""); 1299WriteLine("Array.Empty<TreeDumperNode>()"); 1301WriteLine(");"); 1308WriteLine("Friend NotInheritable Class BoundTreeDumperNodeProducer"); 1310WriteLine("Inherits BoundTreeVisitor(Of Object, TreeDumperNode)"); 1312WriteLine("Private Sub New()"); 1313WriteLine("End Sub"); 1315WriteLine("Public Shared Function MakeTree(node As BoundNode) As TreeDumperNode"); 1317WriteLine("Return (New BoundTreeDumperNodeProducer()).Visit(node, Nothing)"); 1319WriteLine("End Function"); 1324WriteLine("Public Overrides Function Visit{0}(node As {1}, arg As Object) As TreeDumperNode", StripBound(node.Name), node.Name); 1330WriteLine("New TreeDumperNode() {{"); 1343WriteLine(""); 1345WriteLine(","); 1348WriteLine("}})"); 1352WriteLine("Array.Empty(Of TreeDumperNode)())"); 1355WriteLine("End Function"); 1359WriteLine("End Class"); 1374WriteLine("#if DEBUG"); 1376WriteLine("internal sealed partial class PipelinePhaseValidator"); 1378WriteLine("internal static PipelinePhase DoesNotSurvive(BoundKind kind)"); 1380WriteLine("return kind switch"); 1387WriteLine($"BoundKind.{StripBound(node.Name)} => PipelinePhase.{doesNotSurvive},"); 1390WriteLine("_ => PipelinePhase.Emit"); 1392WriteLine("}};"); 1396WriteLine("#endif"); 1407WriteLine("internal abstract partial class BoundTreeRewriter : BoundTreeVisitor"); 1413WriteLine($"{GetVisitFunctionDeclaration(node.Name, isOverride: true)} => node;"); 1416WriteLine(GetVisitFunctionDeclaration(node.Name, isOverride: true)); 1426WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.Visit{field.Type.TrimEnd('?')}(node.{field.Name});"); 1430WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitLocals(node.{field.Name});"); 1434WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitDeclaredLocalFunctions(node.{field.Name});"); 1438WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitSymbols<{elementType}>(node.{field.Name});"); 1451WriteLine("TypeSymbol? {0} = this.VisitType(node.{1});", ToCamelCase(field.Name), field.Name); 1464WriteLine(";"); 1468WriteLine("return node;"); 1480WriteLine("Friend MustInherit Partial Class BoundTreeRewriter"); 1482WriteLine("Inherits BoundTreeVisitor"); 1486WriteLine(GetVisitFunctionDeclaration(node.Name, isOverride: true)); 1499WriteLine("Dim {0} as TypeSymbol = Me.VisitType(node.{1})", ToCamelCase(field.Name), field.Name); 1506WriteLine(""); 1510WriteLine("Return node"); 1514WriteLine("End Function"); 1518WriteLine("End Class"); 1537WriteLine("internal sealed partial class NullabilityRewriter : BoundTreeRewriter"); 1543WriteLine($"private readonly ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> {updatedNullabilities};"); 1544WriteLine($"private readonly NullableWalker.SnapshotManager? {snapshotManager};"); 1545WriteLine($"private readonly ImmutableDictionary<Symbol, Symbol>.Builder {remappedSymbols};"); 1548WriteLine("public NullabilityRewriter(ImmutableDictionary<BoundExpression, (NullabilityInfo Info, TypeSymbol? Type)> updatedNullabilities, NullableWalker.SnapshotManager? snapshotManager, ImmutableDictionary<Symbol, Symbol>.Builder remappedSymbols)"); 1550WriteLine($"{updatedNullabilities} = updatedNullabilities;"); 1551WriteLine($"{snapshotManager} = snapshotManager;"); 1552WriteLine($"{remappedSymbols} = remappedSymbols;"); 1569WriteLine(GetVisitFunctionDeclaration(node.Name, isOverride: true)); 1577WriteLine($"{field.Type} {ToCamelCase(field.Name)} = GetUpdatedSymbol(node, node.{field.Name});"); 1582WriteLine($"{field.Type} {ToCamelCase(field.Name)} = GetUpdatedArray(node, node.{field.Name});"); 1597WriteLine($"{node.Name} updatedNode;"); 1604WriteLine("else"); 1608WriteLine("return updatedNode;"); 1614WriteLine("return node;"); 1619WriteLine("return updatedNode;"); 1626WriteLine(";"); 1632=> WriteLine($"if ({(inverted ? "!" : "")}{updatedNullabilities}.TryGetValue(node, out (NullabilityInfo Info, TypeSymbol? Type) infoAndType))"); 1638WriteLine(";"); 1675WriteLine($"updatedNode.TopLevelNullability = infoAndType.Info;"); 1945WriteLine($"{field.Type} {ToCamelCase(field.Name)} = node.{field.Name};"); 1949WriteLine($"{field.Type} {ToCamelCase(field.Name)} = this.VisitList(node.{field.Name});"); 1953WriteLine($"{field.Type} {ToCamelCase(field.Name)} = ({field.Type})this.Visit(node.{field.Name});"); 1961WriteLine("Dim {0} As {2} = node.{1}", ToCamelCase(field.Name), field.Name, field.Type); 1965WriteLine("Dim {0} As {2} = Me.VisitList(node.{1})", ToCamelCase(field.Name), field.Name, field.Type); 1969WriteLine("Dim {0} As {2} = DirectCast(Me.Visit(node.{1}), {2})", ToCamelCase(field.Name), field.Name, field.Type);