| 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.error_verifier; | 5 library analyzer.src.generated.error_verifier; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import "dart:math" as math; | 8 import "dart:math" as math; |
| 9 | 9 |
| 10 import 'package:analyzer/dart/ast/ast.dart'; | 10 import 'package:analyzer/dart/ast/ast.dart'; |
| (...skipping 2337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2348 String name = element.displayName; | 2348 String name = element.displayName; |
| 2349 List<Element> conflictingMembers = element.conflictingElements; | 2349 List<Element> conflictingMembers = element.conflictingElements; |
| 2350 int count = conflictingMembers.length; | 2350 int count = conflictingMembers.length; |
| 2351 List<String> libraryNames = new List<String>(count); | 2351 List<String> libraryNames = new List<String>(count); |
| 2352 for (int i = 0; i < count; i++) { | 2352 for (int i = 0; i < count; i++) { |
| 2353 libraryNames[i] = _getLibraryName(conflictingMembers[i]); | 2353 libraryNames[i] = _getLibraryName(conflictingMembers[i]); |
| 2354 } | 2354 } |
| 2355 libraryNames.sort(); | 2355 libraryNames.sort(); |
| 2356 _errorReporter.reportErrorForNode(StaticWarningCode.AMBIGUOUS_IMPORT, | 2356 _errorReporter.reportErrorForNode(StaticWarningCode.AMBIGUOUS_IMPORT, |
| 2357 node, [name, StringUtilities.printListOfQuotedNames(libraryNames)]); | 2357 node, [name, StringUtilities.printListOfQuotedNames(libraryNames)]); |
| 2358 } else { | 2358 } else if (element != null) { |
| 2359 List<Element> sdkElements = | 2359 List<Element> sdkElements = |
| 2360 node.getProperty(LibraryImportScope.conflictingSdkElements); | 2360 node.getProperty(LibraryImportScope.conflictingSdkElements); |
| 2361 if (sdkElements != null) { | 2361 if (sdkElements != null) { |
| 2362 _errorReporter.reportErrorForNode( | 2362 _errorReporter.reportErrorForNode( |
| 2363 StaticWarningCode.CONFLICTING_DART_IMPORT, node, [ | 2363 StaticWarningCode.CONFLICTING_DART_IMPORT, node, [ |
| 2364 element.displayName, | 2364 element.displayName, |
| 2365 _getLibraryName(sdkElements[0]), | 2365 _getLibraryName(sdkElements[0]), |
| 2366 _getLibraryName(element) | 2366 _getLibraryName(element) |
| 2367 ]); | 2367 ]); |
| 2368 } | 2368 } |
| (...skipping 3996 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6365 return null; | 6365 return null; |
| 6366 } | 6366 } |
| 6367 ClassElement classElement = | 6367 ClassElement classElement = |
| 6368 member.getAncestor((element) => element is ClassElement); | 6368 member.getAncestor((element) => element is ClassElement); |
| 6369 if (classElement == null) { | 6369 if (classElement == null) { |
| 6370 return null; | 6370 return null; |
| 6371 } | 6371 } |
| 6372 String name = member.name; | 6372 String name = member.name; |
| 6373 ClassElement superclass = classElement.supertype?.element; | 6373 ClassElement superclass = classElement.supertype?.element; |
| 6374 while (superclass != null) { | 6374 while (superclass != null) { |
| 6375 ExecutableElement member = superclass.getMethod(name) ?? superclass.getGet
ter(name) ?? superclass.getSetter(name); | 6375 ExecutableElement member = superclass.getMethod(name) ?? |
| 6376 superclass.getGetter(name) ?? |
| 6377 superclass.getSetter(name); |
| 6376 if (member != null) { | 6378 if (member != null) { |
| 6377 return member; | 6379 return member; |
| 6378 } | 6380 } |
| 6379 superclass = superclass.supertype?.element; | 6381 superclass = superclass.supertype?.element; |
| 6380 } | 6382 } |
| 6381 return null; | 6383 return null; |
| 6382 } | 6384 } |
| 6383 | 6385 |
| 6384 /** | 6386 /** |
| 6385 * Return the type of the first and only parameter of the given [setter]. | 6387 * Return the type of the first and only parameter of the given [setter]. |
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6895 class _InvocationCollector extends RecursiveAstVisitor { | 6897 class _InvocationCollector extends RecursiveAstVisitor { |
| 6896 final List<String> superCalls = <String>[]; | 6898 final List<String> superCalls = <String>[]; |
| 6897 | 6899 |
| 6898 @override | 6900 @override |
| 6899 visitMethodInvocation(MethodInvocation node) { | 6901 visitMethodInvocation(MethodInvocation node) { |
| 6900 if (node.target is SuperExpression) { | 6902 if (node.target is SuperExpression) { |
| 6901 superCalls.add(node.methodName.name); | 6903 superCalls.add(node.methodName.name); |
| 6902 } | 6904 } |
| 6903 } | 6905 } |
| 6904 } | 6906 } |
| OLD | NEW |