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.dart.element.element; | 5 library analyzer.src.dart.element.element; |
6 | 6 |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 import 'dart:math' show min; | 8 import 'dart:math' show min; |
9 | 9 |
10 import 'package:analyzer/dart/ast/ast.dart'; | 10 import 'package:analyzer/dart/ast/ast.dart'; |
(...skipping 4282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4293 buffer.write(defaultValueCode); | 4293 buffer.write(defaultValueCode); |
4294 } | 4294 } |
4295 } | 4295 } |
4296 } | 4296 } |
4297 | 4297 |
4298 /** | 4298 /** |
4299 * A concrete implementation of a [PrefixElement]. | 4299 * A concrete implementation of a [PrefixElement]. |
4300 */ | 4300 */ |
4301 class PrefixElementImpl extends ElementImpl implements PrefixElement { | 4301 class PrefixElementImpl extends ElementImpl implements PrefixElement { |
4302 /** | 4302 /** |
4303 * A list containing all of the libraries that are imported using this prefix. | |
4304 */ | |
4305 List<LibraryElement> _importedLibraries = LibraryElement.EMPTY_LIST; | |
4306 | |
4307 /** | |
4308 * Initialize a newly created method element to have the given [name] and | 4303 * Initialize a newly created method element to have the given [name] and |
4309 * [offset]. | 4304 * [offset]. |
4310 */ | 4305 */ |
4311 PrefixElementImpl(String name, int nameOffset) : super(name, nameOffset); | 4306 PrefixElementImpl(String name, int nameOffset) : super(name, nameOffset); |
4312 | 4307 |
4313 /** | 4308 /** |
4314 * Initialize a newly created prefix element to have the given [name]. | 4309 * Initialize a newly created prefix element to have the given [name]. |
4315 */ | 4310 */ |
4316 PrefixElementImpl.forNode(Identifier name) : super.forNode(name); | 4311 PrefixElementImpl.forNode(Identifier name) : super.forNode(name); |
4317 | 4312 |
4318 @override | 4313 @override |
4319 LibraryElement get enclosingElement => | 4314 LibraryElement get enclosingElement => |
4320 super.enclosingElement as LibraryElement; | 4315 super.enclosingElement as LibraryElement; |
4321 | 4316 |
4322 @override | 4317 @override |
4323 String get identifier => "_${super.identifier}"; | 4318 String get identifier => "_${super.identifier}"; |
4324 | 4319 |
4325 @override | 4320 @override |
4326 List<LibraryElement> get importedLibraries => _importedLibraries; | 4321 List<LibraryElement> get importedLibraries => LibraryElement.EMPTY_LIST; |
4327 | |
4328 /** | |
4329 * Set the libraries that are imported using this prefix to the given | |
4330 * [libraries]. | |
4331 */ | |
4332 void set importedLibraries(List<LibraryElement> libraries) { | |
4333 for (LibraryElement library in libraries) { | |
4334 (library as LibraryElementImpl).enclosingElement = this; | |
4335 } | |
4336 _importedLibraries = libraries; | |
4337 } | |
4338 | 4322 |
4339 @override | 4323 @override |
4340 ElementKind get kind => ElementKind.PREFIX; | 4324 ElementKind get kind => ElementKind.PREFIX; |
4341 | 4325 |
4342 @override | 4326 @override |
4343 accept(ElementVisitor visitor) => visitor.visitPrefixElement(this); | 4327 accept(ElementVisitor visitor) => visitor.visitPrefixElement(this); |
4344 | 4328 |
4345 @override | 4329 @override |
4346 void appendTo(StringBuffer buffer) { | 4330 void appendTo(StringBuffer buffer) { |
4347 buffer.write("as "); | 4331 buffer.write("as "); |
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4799 | 4783 |
4800 @override | 4784 @override |
4801 void visitElement(Element element) { | 4785 void visitElement(Element element) { |
4802 int offset = element.nameOffset; | 4786 int offset = element.nameOffset; |
4803 if (offset != -1) { | 4787 if (offset != -1) { |
4804 map[offset] = element; | 4788 map[offset] = element; |
4805 } | 4789 } |
4806 super.visitElement(element); | 4790 super.visitElement(element); |
4807 } | 4791 } |
4808 } | 4792 } |
OLD | NEW |