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/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
10 import 'package:analyzer/dart/ast/token.dart'; | 10 import 'package:analyzer/dart/ast/token.dart'; |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
417 HintCode.TYPE_CHECK_IS_NOT_NULL, node); | 417 HintCode.TYPE_CHECK_IS_NOT_NULL, node); |
418 } | 418 } |
419 return true; | 419 return true; |
420 } | 420 } |
421 } | 421 } |
422 return false; | 422 return false; |
423 } | 423 } |
424 | 424 |
425 void _checkForAbstractSuperMemberReference( | 425 void _checkForAbstractSuperMemberReference( |
426 Expression target, SimpleIdentifier name) { | 426 Expression target, SimpleIdentifier name) { |
427 if (target is SuperExpression) { | 427 if (target is SuperExpression && |
| 428 !_currentLibrary.context.analysisOptions.enableSuperMixins) { |
428 Element element = name.staticElement; | 429 Element element = name.staticElement; |
429 if (element is ExecutableElement && element.isAbstract) { | 430 if (element is ExecutableElement && element.isAbstract) { |
430 if (!_enclosingClass.hasNoSuchMethod) { | 431 if (!_enclosingClass.hasNoSuchMethod) { |
431 ExecutableElement concrete = null; | 432 ExecutableElement concrete = null; |
432 if (element.kind == ElementKind.METHOD) { | 433 if (element.kind == ElementKind.METHOD) { |
433 concrete = _enclosingClass.lookUpInheritedConcreteMethod( | 434 concrete = _enclosingClass.lookUpInheritedConcreteMethod( |
434 element.displayName, _currentLibrary); | 435 element.displayName, _currentLibrary); |
435 } else if (element.kind == ElementKind.GETTER) { | 436 } else if (element.kind == ElementKind.GETTER) { |
436 concrete = _enclosingClass.lookUpInheritedConcreteGetter( | 437 concrete = _enclosingClass.lookUpInheritedConcreteGetter( |
437 element.displayName, _currentLibrary); | 438 element.displayName, _currentLibrary); |
(...skipping 10331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10769 return null; | 10770 return null; |
10770 } | 10771 } |
10771 if (identical(node.staticElement, variable)) { | 10772 if (identical(node.staticElement, variable)) { |
10772 if (node.inSetterContext()) { | 10773 if (node.inSetterContext()) { |
10773 result = true; | 10774 result = true; |
10774 } | 10775 } |
10775 } | 10776 } |
10776 return null; | 10777 return null; |
10777 } | 10778 } |
10778 } | 10779 } |
OLD | NEW |