Chromium Code Reviews| Index: pkg/analyzer/lib/src/generated/error_verifier.dart |
| diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart |
| index c4ebab67fa4fec985c9ba87bdd0f472fc7953221..fe65b45d70304b688b7a85f752ef36e3adf91b0c 100644 |
| --- a/pkg/analyzer/lib/src/generated/error_verifier.dart |
| +++ b/pkg/analyzer/lib/src/generated/error_verifier.dart |
| @@ -4908,6 +4908,9 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> { |
| } |
| void _checkForMustCallSuper(MethodDeclaration node) { |
| + if (node.isStatic) { |
| + return; |
| + } |
| MethodElement element = _findOverriddenMemberThatMustCallSuper(node); |
| if (element != null) { |
| _InvocationCollector collector = new _InvocationCollector(); |
| @@ -6408,7 +6411,8 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> { |
| } |
| String name = member.name; |
| ClassElement superclass = classElement.supertype?.element; |
| - while (superclass != null) { |
| + Set<ClassElement> visitedClasses = new Set(); |
|
scheglov
2017/02/20 18:27:02
Type argument in creation?
Brian Wilkerson
2017/02/20 19:46:30
Done
|
| + while (superclass != null && visitedClasses.add(superclass)) { |
| ExecutableElement member = superclass.getMethod(name) ?? |
| superclass.getGetter(name) ?? |
| superclass.getSetter(name); |