@@ -7,52 +7,52 @@ public abstract record DotAst
77 public abstract override string ToString ( ) ;
88}
99
10- public record DotGraph ( string Name , IReadOnlyList < DotStatement > Statements ) : DotAst
10+ public sealed record DotGraph ( string Name , IReadOnlyList < DotStatement > Statements ) : DotAst
1111{
1212 public override string ToString ( ) => $ "digraph { Name } {{\n { string . Join ( "\n " , Statements ) } \n }}";
1313}
1414
1515public abstract record DotStatement : DotAst ;
1616
17- public record DotNodeStatement ( string Name , IReadOnlyList < DotAttribute > Attributes ) : DotStatement
17+ public sealed record DotNodeStatement ( string Name , IReadOnlyList < DotAttribute > Attributes ) : DotStatement
1818{
1919 public override string ToString ( ) => $ "{ Name } { AttributesToString ( ) } ;";
2020 private string AttributesToString ( ) => Attributes . Count > 0
2121 ? $ "[{ string . Join ( ", " , Attributes ) } ]"
2222 : "" ;
2323}
2424
25- public record DotEdgeStatement ( string FromNode , string ToNode , IReadOnlyList < DotAttribute > Attributes ) : DotStatement
25+ public sealed record DotEdgeStatement ( string FromNode , string ToNode , IReadOnlyList < DotAttribute > Attributes ) : DotStatement
2626{
2727 public override string ToString ( ) => $ "{ FromNode } -> { ToNode } { AttributesToString ( ) } ;";
2828 private string AttributesToString ( ) => Attributes . Count > 0
2929 ? $ "[{ string . Join ( ", " , Attributes ) } ]"
3030 : "" ;
3131}
3232
33- public record DotSubgraph ( string Name , IReadOnlyList < DotStatement > Statements ) : DotStatement
33+ public sealed record DotSubgraph ( string Name , IReadOnlyList < DotStatement > Statements ) : DotStatement
3434{
3535 public override string ToString ( ) => $ "subgraph { Name } {{\n { string . Join ( "\n " , Statements ) } \n }}";
3636}
3737
38- public record DotAttribute ( string Name , DotTerminalNode Value ) : DotAst
38+ public sealed record DotAttribute ( string Name , DotTerminalNode Value ) : DotAst
3939{
4040 public override string ToString ( ) => $ "{ Name } ={ Value } ";
4141}
4242
43- public record DotAssignment ( string Name , string Value ) : DotStatement
43+ public sealed record DotAssignment ( string Name , string Value ) : DotStatement
4444{
4545 public override string ToString ( ) => $ "{ Name } ={ Value } ;";
4646}
4747
4848public abstract record DotTerminalNode ( string Kind , int StartPos , int EndPos ) : DotAst ;
4949
50- public record DotIdentifier ( string Value , int StartPos , int EndPos ) : DotTerminalNode ( "Identifier" , StartPos , EndPos )
50+ public sealed record DotIdentifier ( string Value , int StartPos , int EndPos ) : DotTerminalNode ( "Identifier" , StartPos , EndPos )
5151{
5252 public override string ToString ( ) => Value ;
5353}
5454
55- public record DotQuotedString ( string Value , string RawValue , int StartPos , int EndPos )
55+ public sealed record DotQuotedString ( string Value , string RawValue , int StartPos , int EndPos )
5656 : DotTerminalNode ( Kind : "QuotedString" , StartPos : StartPos , EndPos : EndPos )
5757{
5858 public DotQuotedString ( ChatRef span , int startPos , int endPos )
@@ -116,18 +116,18 @@ private static string ProcessQuotedString(ChatRef span)
116116 public override string ToString ( ) => $ "\" { RawValue } \" ";
117117}
118118
119- public record DotNumber ( int Value , int StartPos , int EndPos ) : DotTerminalNode ( "Number" , StartPos , EndPos )
119+ public sealed record DotNumber ( int Value , int StartPos , int EndPos ) : DotTerminalNode ( "Number" , StartPos , EndPos )
120120{
121121 public override string ToString ( ) => Value . ToString ( ) ;
122122}
123123
124- public record DotLiteral ( string Value , int StartPos , int EndPos ) : DotTerminalNode ( "Literal" , StartPos , EndPos )
124+ public sealed record DotLiteral ( string Value , int StartPos , int EndPos ) : DotTerminalNode ( "Literal" , StartPos , EndPos )
125125{
126126 public override string ToString ( ) => Value ;
127127}
128128
129- public record DotAttributeList ( IReadOnlyList < DotAttribute > Attributes ) : DotAst
129+ public sealed record DotAttributeList ( IReadOnlyList < DotAttribute > Attributes ) : DotAst
130130{
131131 public override string ToString ( ) => $ "[{ string . Join ( ", " , Attributes ) } ]";
132132}
133- public record DotAttributeRest ( DotAttribute Attribute ) : DotAst ;
133+ public sealed record DotAttributeRest ( DotAttribute Attribute ) : DotAst ;
0 commit comments