OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import 'dart:collection'; | 5 import 'dart:collection'; |
6 | 6 |
7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
8 import 'package:analyzer/dart/ast/token.dart'; | 8 import 'package:analyzer/dart/ast/token.dart'; |
9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
662 * @param offset the offset of the location of the error | 662 * @param offset the offset of the location of the error |
663 * @param length the length of the location of the error | 663 * @param length the length of the location of the error |
664 * @param errorCode the error code to be associated with this error | 664 * @param errorCode the error code to be associated with this error |
665 * @param arguments the arguments used to build the error message | 665 * @param arguments the arguments used to build the error message |
666 */ | 666 */ |
667 void _reportError( | 667 void _reportError( |
668 ClassElement classElt, ErrorCode errorCode, List<Object> arguments) { | 668 ClassElement classElt, ErrorCode errorCode, List<Object> arguments) { |
669 if (ignoreErrors) { | 669 if (ignoreErrors) { |
670 return; | 670 return; |
671 } | 671 } |
672 HashSet<AnalysisError> errorSet = _errorsInClassElement[classElt]; | 672 HashSet<AnalysisError> errorSet = _errorsInClassElement.putIfAbsent( |
673 if (errorSet == null) { | 673 classElt, () => new HashSet<AnalysisError>()); |
674 errorSet = new HashSet<AnalysisError>(); | |
675 _errorsInClassElement[classElt] = errorSet; | |
676 } | |
677 errorSet.add(new AnalysisError(classElt.source, classElt.nameOffset, | 674 errorSet.add(new AnalysisError(classElt.source, classElt.nameOffset, |
678 classElt.nameLength, errorCode, arguments)); | 675 classElt.nameLength, errorCode, arguments)); |
679 } | 676 } |
680 | 677 |
681 /** | 678 /** |
682 * Given the set of methods defined by classes above [classElt] in the class h
ierarchy, | 679 * Given the set of methods defined by classes above [classElt] in the class h
ierarchy, |
683 * apply the appropriate inheritance rules to determine those methods inherite
d by or overridden | 680 * apply the appropriate inheritance rules to determine those methods inherite
d by or overridden |
684 * by [classElt]. Also report static warnings | 681 * by [classElt]. Also report static warnings |
685 * [StaticTypeWarningCode.INCONSISTENT_METHOD_INHERITANCE] and | 682 * [StaticTypeWarningCode.INCONSISTENT_METHOD_INHERITANCE] and |
686 * [StaticWarningCode.INCONSISTENT_METHOD_INHERITANCE_GETTER_AND_METHOD] if ap
propriate. | 683 * [StaticWarningCode.INCONSISTENT_METHOD_INHERITANCE_GETTER_AND_METHOD] if ap
propriate. |
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1250 } | 1247 } |
1251 | 1248 |
1252 /** | 1249 /** |
1253 * Initializes [keys] and [values]. | 1250 * Initializes [keys] and [values]. |
1254 */ | 1251 */ |
1255 void _initArrays(int initialCapacity) { | 1252 void _initArrays(int initialCapacity) { |
1256 _keys = new List<String>(initialCapacity); | 1253 _keys = new List<String>(initialCapacity); |
1257 _values = new List<ExecutableElement>(initialCapacity); | 1254 _values = new List<ExecutableElement>(initialCapacity); |
1258 } | 1255 } |
1259 } | 1256 } |
OLD | NEW |