Chromium Code Reviews| Index: pkg/kernel/lib/verifier.dart |
| diff --git a/pkg/kernel/lib/verifier.dart b/pkg/kernel/lib/verifier.dart |
| index 2724791c24a56d5883ef2dd5d0467675168c7a6b..b0300986832a8f599403443f85e9ca77bd33ba56 100644 |
| --- a/pkg/kernel/lib/verifier.dart |
| +++ b/pkg/kernel/lib/verifier.dart |
| @@ -172,7 +172,18 @@ class VerifyingVisitor extends RecursiveVisitor { |
| } |
| } |
| + void checkCanonicalName(CanonicalName name, LinkedNode definition) { |
|
Kevin Millikin (Google)
2017/02/22 09:09:30
Get rid of the function? Or if we sometimes want
asgerf
2017/02/22 10:06:54
Removed the function. I did not intend to upload t
|
| + // if (name == null) { |
| + // throw '$definition has no canonical name'; |
| + // } |
| + // if (name.box.node != definition) { |
| + // throw '$definition has name $name, but that is bound to ' |
| + // '${name.box.node}'; |
| + // } |
| + } |
| + |
| visitField(Field node) { |
| + checkCanonicalName(node.canonicalName, node); |
| currentMember = node; |
| var oldParent = enterParent(node); |
| classTypeParametersAreInScope = !node.isStatic; |
| @@ -184,6 +195,7 @@ class VerifyingVisitor extends RecursiveVisitor { |
| } |
| visitProcedure(Procedure node) { |
| + checkCanonicalName(node.canonicalName, node); |
| currentMember = node; |
| var oldParent = enterParent(node); |
| classTypeParametersAreInScope = !node.isStatic; |
| @@ -195,6 +207,7 @@ class VerifyingVisitor extends RecursiveVisitor { |
| } |
| visitConstructor(Constructor node) { |
| + checkCanonicalName(node.canonicalName, node); |
| currentMember = node; |
| classTypeParametersAreInScope = true; |
| // The constructor member needs special treatment due to parameters being |
| @@ -215,6 +228,7 @@ class VerifyingVisitor extends RecursiveVisitor { |
| } |
| visitClass(Class node) { |
| + checkCanonicalName(node.canonicalName, node); |
| currentClass = node; |
| declareTypeParameters(node.typeParameters); |
| var oldParent = enterParent(node); |