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 |