Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library analyzer.src.generated.resolver; | 5 library analyzer.src.generated.resolver; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analyzer/src/generated/ast.dart'; | 9 import 'package:analyzer/src/generated/ast.dart'; |
| 10 import 'package:analyzer/src/generated/constant.dart'; | 10 import 'package:analyzer/src/generated/constant.dart'; |
| (...skipping 11727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11738 } | 11738 } |
| 11739 return null; | 11739 return null; |
| 11740 } | 11740 } |
| 11741 | 11741 |
| 11742 @override | 11742 @override |
| 11743 Object visitClassDeclaration(ClassDeclaration node) { | 11743 Object visitClassDeclaration(ClassDeclaration node) { |
| 11744 _hasReferenceToSuper = false; | 11744 _hasReferenceToSuper = false; |
| 11745 super.visitClassDeclaration(node); | 11745 super.visitClassDeclaration(node); |
| 11746 ClassElementImpl classElement = _getClassElement(node.name); | 11746 ClassElementImpl classElement = _getClassElement(node.name); |
| 11747 if (classElement != null) { | 11747 if (classElement != null) { |
| 11748 // Clear this flag, as we just invalidated any inferred member types. | |
|
Leaf
2015/12/11 00:09:25
We've also invalidated anything that extends/imple
Jennifer Messerly
2015/12/11 00:15:51
The invariant here is we'll clear the flag at basi
| |
| 11749 classElement.hasBeenInferred = false; | |
| 11748 classElement.hasReferenceToSuper = _hasReferenceToSuper; | 11750 classElement.hasReferenceToSuper = _hasReferenceToSuper; |
| 11749 } | 11751 } |
| 11750 return null; | 11752 return null; |
| 11751 } | 11753 } |
| 11752 | 11754 |
| 11753 @override | 11755 @override |
| 11754 void visitClassDeclarationInScope(ClassDeclaration node) { | 11756 void visitClassDeclarationInScope(ClassDeclaration node) { |
| 11755 super.visitClassDeclarationInScope(node); | 11757 super.visitClassDeclarationInScope(node); |
| 11756 ExtendsClause extendsClause = node.extendsClause; | 11758 ExtendsClause extendsClause = node.extendsClause; |
| 11757 WithClause withClause = node.withClause; | 11759 WithClause withClause = node.withClause; |
| (...skipping 1560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 13318 nonFields.add(node); | 13320 nonFields.add(node); |
| 13319 return null; | 13321 return null; |
| 13320 } | 13322 } |
| 13321 | 13323 |
| 13322 @override | 13324 @override |
| 13323 Object visitNode(AstNode node) => node.accept(TypeResolverVisitor_this); | 13325 Object visitNode(AstNode node) => node.accept(TypeResolverVisitor_this); |
| 13324 | 13326 |
| 13325 @override | 13327 @override |
| 13326 Object visitWithClause(WithClause node) => null; | 13328 Object visitWithClause(WithClause node) => null; |
| 13327 } | 13329 } |
| OLD | NEW |