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 /** | 5 /** |
6 * Defines the element model. The element model describes the semantic (as | 6 * Defines the element model. The element model describes the semantic (as |
7 * opposed to syntactic) structure of Dart code. The syntactic structure of the | 7 * opposed to syntactic) structure of Dart code. The syntactic structure of the |
8 * code is modeled by the [AST structure](../ast/ast.dart). | 8 * code is modeled by the [AST structure](../ast/ast.dart). |
9 * | 9 * |
10 * The element model consists of two closely related kinds of objects: elements | 10 * The element model consists of two closely related kinds of objects: elements |
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 * | 717 * |
718 * This method is expensive, because resolved AST might have been already | 718 * This method is expensive, because resolved AST might have been already |
719 * evicted from cache, so parsing and resolving will be performed. | 719 * evicted from cache, so parsing and resolving will be performed. |
720 */ | 720 */ |
721 CompilationUnit get unit; | 721 CompilationUnit get unit; |
722 | 722 |
723 /** | 723 /** |
724 * Use the given [visitor] to visit this element. Return the value returned by | 724 * Use the given [visitor] to visit this element. Return the value returned by |
725 * the visitor as a result of visiting this element. | 725 * the visitor as a result of visiting this element. |
726 */ | 726 */ |
727 /*=T*/ accept/*<T>*/(ElementVisitor<dynamic/*=T*/ > visitor); | 727 T accept<T>(ElementVisitor<T> visitor); |
728 | 728 |
729 /** | 729 /** |
730 * Return the documentation comment for this element as it appears in the | 730 * Return the documentation comment for this element as it appears in the |
731 * original source (complete with the beginning and ending delimiters), or | 731 * original source (complete with the beginning and ending delimiters), or |
732 * `null` if this element does not have a documentation comment associated | 732 * `null` if this element does not have a documentation comment associated |
733 * with it. This can be a long-running operation if the information needed to | 733 * with it. This can be a long-running operation if the information needed to |
734 * access the comment is not cached. | 734 * access the comment is not cached. |
735 * | 735 * |
736 * Throws [AnalysisException] if the documentation comment could not be | 736 * Throws [AnalysisException] if the documentation comment could not be |
737 * determined because the analysis could not be performed | 737 * determined because the analysis could not be performed |
(...skipping 13 matching lines...) Expand all Loading... |
751 * | 751 * |
752 * <b>Note:</b> This method cannot be used in an async environment. | 752 * <b>Note:</b> This method cannot be used in an async environment. |
753 */ | 753 */ |
754 AstNode computeNode(); | 754 AstNode computeNode(); |
755 | 755 |
756 /** | 756 /** |
757 * Return the most immediate ancestor of this element for which the | 757 * Return the most immediate ancestor of this element for which the |
758 * [predicate] returns `true`, or `null` if there is no such ancestor. Note | 758 * [predicate] returns `true`, or `null` if there is no such ancestor. Note |
759 * that this element will never be returned. | 759 * that this element will never be returned. |
760 */ | 760 */ |
761 Element/*=E*/ getAncestor/*<E extends Element >*/( | 761 E getAncestor<E extends Element>(Predicate<Element> predicate); |
762 Predicate<Element> predicate); | |
763 | 762 |
764 /** | 763 /** |
765 * Return a display name for the given element that includes the path to the | 764 * Return a display name for the given element that includes the path to the |
766 * compilation unit in which the type is defined. If [shortName] is `null` | 765 * compilation unit in which the type is defined. If [shortName] is `null` |
767 * then [displayName] will be used as the name of this element. Otherwise | 766 * then [displayName] will be used as the name of this element. Otherwise |
768 * the provided name will be used. | 767 * the provided name will be used. |
769 */ | 768 */ |
770 // TODO(brianwilkerson) Make the parameter optional. | 769 // TODO(brianwilkerson) Make the parameter optional. |
771 String getExtendedDisplayName(String shortName); | 770 String getExtendedDisplayName(String shortName); |
772 | 771 |
(...skipping 1312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2085 DartType get type; | 2084 DartType get type; |
2086 | 2085 |
2087 /** | 2086 /** |
2088 * Return a representation of the value of this variable, forcing the value | 2087 * Return a representation of the value of this variable, forcing the value |
2089 * to be computed if it had not previously been computed, or `null` if either | 2088 * to be computed if it had not previously been computed, or `null` if either |
2090 * this variable was not declared with the 'const' modifier or if the value of | 2089 * this variable was not declared with the 'const' modifier or if the value of |
2091 * this variable could not be computed because of errors. | 2090 * this variable could not be computed because of errors. |
2092 */ | 2091 */ |
2093 DartObject computeConstantValue(); | 2092 DartObject computeConstantValue(); |
2094 } | 2093 } |
OLD | NEW |