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

Side by Side Diff: pkg/analysis_server/lib/src/services/correction/namespace.dart

Issue 2551023005: Prepare for decoupling analyzer ASTs from element model. (Closed)
Patch Set: Created 4 years 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
OLDNEW
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 services.src.correction.namespace; 5 library services.src.correction.namespace;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/resolution_accessors.dart';
8 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
9 import 'package:analyzer/src/dart/resolver/scope.dart'; 10 import 'package:analyzer/src/dart/resolver/scope.dart';
10 11
11 /** 12 /**
12 * Returns the [Element] exported from the given [LibraryElement]. 13 * Returns the [Element] exported from the given [LibraryElement].
13 */ 14 */
14 Element getExportedElement(LibraryElement library, String name) { 15 Element getExportedElement(LibraryElement library, String name) {
15 if (library == null) { 16 if (library == null) {
16 return null; 17 return null;
17 } 18 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 /** 135 /**
135 * Returns the [ImportElementInfo] with the [ImportElement] that is referenced 136 * Returns the [ImportElementInfo] with the [ImportElement] that is referenced
136 * by [prefixNode] with a [PrefixElement], maybe `null`. 137 * by [prefixNode] with a [PrefixElement], maybe `null`.
137 */ 138 */
138 ImportElementInfo internal_getImportElementInfo(SimpleIdentifier prefixNode) { 139 ImportElementInfo internal_getImportElementInfo(SimpleIdentifier prefixNode) {
139 ImportElementInfo info = new ImportElementInfo(); 140 ImportElementInfo info = new ImportElementInfo();
140 // prepare environment 141 // prepare environment
141 AstNode parent = prefixNode.parent; 142 AstNode parent = prefixNode.parent;
142 CompilationUnit unit = 143 CompilationUnit unit =
143 prefixNode.getAncestor((node) => node is CompilationUnit); 144 prefixNode.getAncestor((node) => node is CompilationUnit);
144 LibraryElement libraryElement = unit.element.library; 145 LibraryElement libraryElement = elementForCompilationUnit(unit).library;
145 // prepare used element 146 // prepare used element
146 Element usedElement = null; 147 Element usedElement = null;
147 if (parent is PrefixedIdentifier) { 148 if (parent is PrefixedIdentifier) {
148 PrefixedIdentifier prefixed = parent; 149 PrefixedIdentifier prefixed = parent;
149 if (prefixed.prefix == prefixNode) { 150 if (prefixed.prefix == prefixNode) {
150 usedElement = prefixed.staticElement; 151 usedElement = prefixed.staticElement;
151 info.periodEnd = prefixed.period.end; 152 info.periodEnd = prefixed.period.end;
152 } 153 }
153 } 154 }
154 if (parent is MethodInvocation) { 155 if (parent is MethodInvocation) {
(...skipping 19 matching lines...) Expand all
174 } 175 }
175 176
176 /** 177 /**
177 * Information about [ImportElement] and place where it is referenced using 178 * Information about [ImportElement] and place where it is referenced using
178 * [PrefixElement]. 179 * [PrefixElement].
179 */ 180 */
180 class ImportElementInfo { 181 class ImportElementInfo {
181 ImportElement element; 182 ImportElement element;
182 int periodEnd; 183 int periodEnd;
183 } 184 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698