@@ -21,7 +21,7 @@ abstract class Node {
2121 Iterable <String > get variables;
2222
2323 /// Calls the appropriate [Visitor] method on [this] and returns the result.
24- dynamic accept (Visitor visitor);
24+ T accept < T > (Visitor < T > visitor);
2525}
2626
2727/// A single variable.
@@ -38,7 +38,7 @@ class VariableNode implements Node {
3838 VariableNode (this .name, [this .span]);
3939
4040 @override
41- dynamic accept (Visitor visitor) => visitor.visitVariable (this );
41+ T accept < T > (Visitor < T > visitor) => visitor.visitVariable (this );
4242
4343 @override
4444 String toString () => name;
@@ -64,7 +64,7 @@ class NotNode implements Node {
6464 NotNode (this .child, [this .span]);
6565
6666 @override
67- dynamic accept (Visitor visitor) => visitor.visitNot (this );
67+ T accept < T > (Visitor < T > visitor) => visitor.visitNot (this );
6868
6969 @override
7070 String toString () =>
@@ -97,7 +97,7 @@ class OrNode implements Node {
9797 OrNode (this .left, this .right);
9898
9999 @override
100- dynamic accept (Visitor visitor) => visitor.visitOr (this );
100+ T accept < T > (Visitor < T > visitor) => visitor.visitOr (this );
101101
102102 @override
103103 String toString () {
@@ -136,7 +136,7 @@ class AndNode implements Node {
136136 AndNode (this .left, this .right);
137137
138138 @override
139- dynamic accept (Visitor visitor) => visitor.visitAnd (this );
139+ T accept < T > (Visitor < T > visitor) => visitor.visitAnd (this );
140140
141141 @override
142142 String toString () {
@@ -179,7 +179,7 @@ class ConditionalNode implements Node {
179179 ConditionalNode (this .condition, this .whenTrue, this .whenFalse);
180180
181181 @override
182- dynamic accept (Visitor visitor) => visitor.visitConditional (this );
182+ T accept < T > (Visitor < T > visitor) => visitor.visitConditional (this );
183183
184184 @override
185185 String toString () {
0 commit comments