Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/scope/LibraryImportScope.java

Issue 700943003: Fix issue 19424 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Clean up Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012, the Dart project authors. 2 * Copyright (c) 2012, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
11 * or implied. See the License for the specific language governing permissions a nd limitations under 11 * or implied. See the License for the specific language governing permissions a nd limitations under
12 * the License. 12 * the License.
13 */ 13 */
14 package com.google.dart.engine.internal.scope; 14 package com.google.dart.engine.internal.scope;
15 15
16 import com.google.dart.engine.AnalysisEngine; 16 import com.google.dart.engine.AnalysisEngine;
17 import com.google.dart.engine.ast.AstNode;
17 import com.google.dart.engine.ast.Identifier; 18 import com.google.dart.engine.ast.Identifier;
18 import com.google.dart.engine.element.Element; 19 import com.google.dart.engine.element.Element;
19 import com.google.dart.engine.element.ImportElement; 20 import com.google.dart.engine.element.ImportElement;
20 import com.google.dart.engine.element.LibraryElement; 21 import com.google.dart.engine.element.LibraryElement;
21 import com.google.dart.engine.error.AnalysisError; 22 import com.google.dart.engine.error.AnalysisError;
22 import com.google.dart.engine.error.AnalysisErrorListener; 23 import com.google.dart.engine.error.AnalysisErrorListener;
23 import com.google.dart.engine.error.StaticWarningCode; 24 import com.google.dart.engine.error.StaticWarningCode;
24 import com.google.dart.engine.internal.element.MultiplyDefinedElementImpl; 25 import com.google.dart.engine.internal.element.MultiplyDefinedElementImpl;
26 import com.google.dart.engine.source.Source;
25 import com.google.dart.engine.utilities.general.StringUtilities; 27 import com.google.dart.engine.utilities.general.StringUtilities;
26 28
27 import java.util.ArrayList; 29 import java.util.ArrayList;
28 import java.util.Arrays; 30 import java.util.Arrays;
29 31
30 /** 32 /**
31 * Instances of the class {@code LibraryImportScope} represent the scope contain ing all of the names 33 * Instances of the class {@code LibraryImportScope} represent the scope contain ing all of the names
32 * available from imported libraries. 34 * available from imported libraries.
33 * 35 *
34 * @coverage dart.engine.resolver 36 * @coverage dart.engine.resolver
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 super.define(element); 71 super.define(element);
70 } 72 }
71 } 73 }
72 74
73 @Override 75 @Override
74 public AnalysisErrorListener getErrorListener() { 76 public AnalysisErrorListener getErrorListener() {
75 return errorListener; 77 return errorListener;
76 } 78 }
77 79
78 @Override 80 @Override
81 protected Source getSource(AstNode node) {
82 Source source = super.getSource(node);
83 if (source == null) {
84 source = definingLibrary.getDefiningCompilationUnit().getSource();
85 }
86 return source;
87 }
88
89 @Override
79 protected Element internalLookup(Identifier identifier, String name, 90 protected Element internalLookup(Identifier identifier, String name,
80 LibraryElement referencingLibrary) { 91 LibraryElement referencingLibrary) {
81 Element foundElement = localLookup(name, referencingLibrary); 92 Element foundElement = localLookup(name, referencingLibrary);
82 if (foundElement != null) { 93 if (foundElement != null) {
83 return foundElement; 94 return foundElement;
84 } 95 }
85 for (int i = 0; i < importedNamespaces.length; i++) { 96 for (int i = 0; i < importedNamespaces.length; i++) {
86 Namespace nameSpace = importedNamespaces[i]; 97 Namespace nameSpace = importedNamespaces[i];
87 Element element = nameSpace.get(name); 98 Element element = nameSpace.get(name);
88 if (element != null) { 99 if (element != null) {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 // All members were removed 245 // All members were removed
235 AnalysisEngine.getInstance().getLogger().logInformation( 246 AnalysisEngine.getInstance().getLogger().logInformation(
236 "Multiply defined SDK element: " + foundElement); 247 "Multiply defined SDK element: " + foundElement);
237 return foundElement; 248 return foundElement;
238 } 249 }
239 Element[] remaining = new Element[to]; 250 Element[] remaining = new Element[to];
240 System.arraycopy(conflictingMembers, 0, remaining, 0, to); 251 System.arraycopy(conflictingMembers, 0, remaining, 0, to);
241 return new MultiplyDefinedElementImpl(definingLibrary.getContext(), remainin g); 252 return new MultiplyDefinedElementImpl(definingLibrary.getContext(), remainin g);
242 } 253 }
243 } 254 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698