Index: pkg/compiler/lib/src/serialization/equivalence.dart |
diff --git a/pkg/compiler/lib/src/serialization/equivalence.dart b/pkg/compiler/lib/src/serialization/equivalence.dart |
index 81aefc987540e74e0bca49cb2a2a74069f9828e8..fae1fb78b21ef68303f7f9e5c7c09f238bf401be 100644 |
--- a/pkg/compiler/lib/src/serialization/equivalence.dart |
+++ b/pkg/compiler/lib/src/serialization/equivalence.dart |
@@ -1948,7 +1948,8 @@ class NodeEquivalenceVisitor implements Visitor1<bool, Node> { |
} |
@override |
- bool visitTypeAnnotation(TypeAnnotation node1, TypeAnnotation node2) { |
+ bool visitNominalTypeAnnotation( |
+ NominalTypeAnnotation node1, NominalTypeAnnotation node2) { |
return testNodes( |
node1, node2, 'typeName', node1.typeName, node2.typeName) && |
testNodes(node1, node2, 'typeArguments', node1.typeArguments, |
@@ -1956,6 +1957,16 @@ class NodeEquivalenceVisitor implements Visitor1<bool, Node> { |
} |
@override |
+ bool visitFunctionTypeAnnotation( |
+ FunctionTypeAnnotation node1, FunctionTypeAnnotation node2) { |
+ return testNodes( |
+ node1, node2, 'returnType', node1.returnType, node2.returnType) && |
+ testNodes(node1, node2, 'formals', node1.formals, node2.formals) && |
+ testNodes(node1, node2, 'typeParameters', node1.typeParameters, |
+ node2.typeParameters); |
+ } |
+ |
+ @override |
bool visitTypeVariable(TypeVariable node1, TypeVariable node2) { |
return testNodes(node1, node2, 'name', node1.name, node2.name) && |
testNodes(node1, node2, 'bound', node1.bound, node2.bound); |
@@ -1969,8 +1980,8 @@ class NodeEquivalenceVisitor implements Visitor1<bool, Node> { |
testNodes( |
node1, node2, 'returnType', node1.returnType, node2.returnType) && |
testNodes(node1, node2, 'name', node1.name, node2.name) && |
- testNodes(node1, node2, 'typeParameters', node1.typeParameters, |
- node2.typeParameters) && |
+ testNodes(node1, node2, 'typeParameters', node1.templateParameters, |
+ node2.templateParameters) && |
testNodes(node1, node2, 'formals', node1.formals, node2.formals); |
} |