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/standard_resolution_map.dart'; | 10 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; |
(...skipping 2086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2097 } | 2097 } |
2098 | 2098 |
2099 @override | 2099 @override |
2100 Object visitExportDirective(ExportDirective node) { | 2100 Object visitExportDirective(ExportDirective node) { |
2101 ExportElement exportElement = node.element; | 2101 ExportElement exportElement = node.element; |
2102 if (exportElement != null) { | 2102 if (exportElement != null) { |
2103 // The element is null when the URI is invalid | 2103 // The element is null when the URI is invalid |
2104 LibraryElement library = exportElement.exportedLibrary; | 2104 LibraryElement library = exportElement.exportedLibrary; |
2105 if (library != null && !library.isSynthetic) { | 2105 if (library != null && !library.isSynthetic) { |
2106 for (Combinator combinator in node.combinators) { | 2106 for (Combinator combinator in node.combinators) { |
2107 _checkCombinator(exportElement.exportedLibrary, combinator); | 2107 _checkCombinator(library, combinator); |
2108 } | 2108 } |
2109 } | 2109 } |
2110 } | 2110 } |
2111 return super.visitExportDirective(node); | 2111 return super.visitExportDirective(node); |
2112 } | 2112 } |
2113 | 2113 |
2114 @override | 2114 @override |
2115 Object visitIfStatement(IfStatement node) { | 2115 Object visitIfStatement(IfStatement node) { |
2116 Expression conditionExpression = node.condition; | 2116 Expression conditionExpression = node.condition; |
2117 conditionExpression?.accept(this); | 2117 conditionExpression?.accept(this); |
(...skipping 1957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4075 } | 4075 } |
4076 } | 4076 } |
4077 } | 4077 } |
4078 } | 4078 } |
4079 | 4079 |
4080 /** | 4080 /** |
4081 * Recursively add any exported library elements into the [libraryMap]. | 4081 * Recursively add any exported library elements into the [libraryMap]. |
4082 */ | 4082 */ |
4083 void _addAdditionalLibrariesForExports(LibraryElement library, | 4083 void _addAdditionalLibrariesForExports(LibraryElement library, |
4084 ImportDirective importDirective, Set<LibraryElement> visitedLibraries) { | 4084 ImportDirective importDirective, Set<LibraryElement> visitedLibraries) { |
4085 if (!visitedLibraries.add(library)) { | 4085 if (library == null || !visitedLibraries.add(library)) { |
4086 return; | 4086 return; |
4087 } | 4087 } |
4088 List<ExportElement> exports = library.exports; | 4088 List<ExportElement> exports = library.exports; |
4089 int length = exports.length; | 4089 int length = exports.length; |
4090 for (int i = 0; i < length; i++) { | 4090 for (int i = 0; i < length; i++) { |
4091 ExportElement exportElt = exports[i]; | 4091 ExportElement exportElt = exports[i]; |
4092 LibraryElement exportedLibrary = exportElt.exportedLibrary; | 4092 LibraryElement exportedLibrary = exportElt.exportedLibrary; |
4093 _putIntoLibraryMap(exportedLibrary, importDirective); | 4093 _putIntoLibraryMap(exportedLibrary, importDirective); |
4094 _addAdditionalLibrariesForExports( | 4094 _addAdditionalLibrariesForExports( |
4095 exportedLibrary, importDirective, visitedLibraries); | 4095 exportedLibrary, importDirective, visitedLibraries); |
(...skipping 6831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10927 return null; | 10927 return null; |
10928 } | 10928 } |
10929 if (identical(node.staticElement, variable)) { | 10929 if (identical(node.staticElement, variable)) { |
10930 if (node.inSetterContext()) { | 10930 if (node.inSetterContext()) { |
10931 result = true; | 10931 result = true; |
10932 } | 10932 } |
10933 } | 10933 } |
10934 return null; | 10934 return null; |
10935 } | 10935 } |
10936 } | 10936 } |
OLD | NEW |