OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 elements; | 5 library elements; |
6 | 6 |
7 import 'dart:uri'; | 7 import 'dart:uri'; |
8 | 8 |
9 import 'modelx.dart'; | 9 import 'modelx.dart'; |
10 import '../tree/tree.dart'; | 10 import '../tree/tree.dart'; |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 abstract class CompilationUnitElement extends Element { | 463 abstract class CompilationUnitElement extends Element { |
464 Script get script; | 464 Script get script; |
465 PartOf get partTag; | 465 PartOf get partTag; |
466 | 466 |
467 void addMember(Element element, DiagnosticListener listener); | 467 void addMember(Element element, DiagnosticListener listener); |
468 void setPartOf(PartOf tag, DiagnosticListener listener); | 468 void setPartOf(PartOf tag, DiagnosticListener listener); |
469 bool get hasMembers; | 469 bool get hasMembers; |
470 } | 470 } |
471 | 471 |
472 abstract class LibraryElement extends Element implements ScopeContainerElement { | 472 abstract class LibraryElement extends Element implements ScopeContainerElement { |
473 Uri get uri; | 473 /** |
| 474 * The canonical uri for this library. |
| 475 * |
| 476 * For user libraries the canonical uri is the script uri. For platform |
| 477 * libraries the canonical uri is of the form [:dart:x:]. |
| 478 */ |
| 479 Uri get canonicalUri; |
474 CompilationUnitElement get entryCompilationUnit; | 480 CompilationUnitElement get entryCompilationUnit; |
475 Link<CompilationUnitElement> get compilationUnits; | 481 Link<CompilationUnitElement> get compilationUnits; |
476 Link<LibraryTag> get tags; | 482 Link<LibraryTag> get tags; |
477 LibraryName get libraryTag; | 483 LibraryName get libraryTag; |
478 Link<Element> get exports; | 484 Link<Element> get exports; |
479 | 485 |
| 486 /** |
| 487 * [:true:] if this library is part of the platform, that is its canonical |
| 488 * uri has the scheme 'dart'. |
| 489 */ |
480 bool get isPlatformLibrary; | 490 bool get isPlatformLibrary; |
| 491 |
| 492 /** |
| 493 * [:true:] if this library is a platform library whose path starts with |
| 494 * an underscore. |
| 495 */ |
| 496 bool get isInternalLibrary; |
481 bool get canUseNative; | 497 bool get canUseNative; |
482 bool get exportsHandled; | 498 bool get exportsHandled; |
483 | 499 |
484 // TODO(kasperl): We should try to get rid of these. | 500 // TODO(kasperl): We should try to get rid of these. |
485 void set canUseNative(bool value); | 501 void set canUseNative(bool value); |
486 void set libraryTag(LibraryName value); | 502 void set libraryTag(LibraryName value); |
487 | 503 |
488 LibraryElement get implementation; | 504 LibraryElement get implementation; |
489 | 505 |
490 void addCompilationUnit(CompilationUnitElement element); | 506 void addCompilationUnit(CompilationUnitElement element); |
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
762 Element get annotatedElement; | 778 Element get annotatedElement; |
763 int get resolutionState; | 779 int get resolutionState; |
764 Token get beginToken; | 780 Token get beginToken; |
765 | 781 |
766 // TODO(kasperl): Try to get rid of these. | 782 // TODO(kasperl): Try to get rid of these. |
767 void set annotatedElement(Element value); | 783 void set annotatedElement(Element value); |
768 void set resolutionState(int value); | 784 void set resolutionState(int value); |
769 | 785 |
770 MetadataAnnotation ensureResolved(Compiler compiler); | 786 MetadataAnnotation ensureResolved(Compiler compiler); |
771 } | 787 } |
OLD | NEW |