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

Side by Side Diff: pkg/analyzer_experimental/lib/src/generated/element.dart

Issue 22285004: New analyzer_experimental snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 months 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 // This code was auto-generated, is not intended to be edited, and is subject to 1 // This code was auto-generated, is not intended to be edited, and is subject to
2 // significant change. Please see the README file for more information. 2 // significant change. Please see the README file for more information.
3 library engine.element; 3 library engine.element;
4 import 'dart:collection'; 4 import 'dart:collection';
5 import 'java_core.dart'; 5 import 'java_core.dart';
6 import 'java_engine.dart'; 6 import 'java_engine.dart';
7 import 'utilities_collection.dart';
7 import 'source.dart'; 8 import 'source.dart';
8 import 'scanner.dart' show Keyword; 9 import 'scanner.dart' show Keyword;
9 import 'ast.dart' show Identifier, LibraryIdentifier; 10 import 'ast.dart' show Identifier, LibraryIdentifier;
10 import 'sdk.dart' show DartSdk; 11 import 'sdk.dart' show DartSdk;
11 import 'html.dart' show XmlTagNode; 12 import 'html.dart' show XmlTagNode;
12 import 'engine.dart' show AnalysisContext; 13 import 'engine.dart' show AnalysisContext;
13 import 'constant.dart' show EvaluationResultImpl; 14 import 'constant.dart' show EvaluationResultImpl;
14 import 'utilities_dart.dart'; 15 import 'utilities_dart.dart';
15 /** 16 /**
16 * The interface `ClassElement` defines the behavior of elements that represent a class. 17 * The interface `ClassElement` defines the behavior of elements that represent a class.
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 * 555 *
555 * @return the field, variable, or constructor being used as an annotation 556 * @return the field, variable, or constructor being used as an annotation
556 */ 557 */
557 Element get element; 558 Element get element;
558 } 559 }
559 /** 560 /**
560 * The enumeration `ElementKind` defines the various kinds of elements in the el ement model. 561 * The enumeration `ElementKind` defines the various kinds of elements in the el ement model.
561 * 562 *
562 * @coverage dart.engine.element 563 * @coverage dart.engine.element
563 */ 564 */
564 class ElementKind implements Comparable<ElementKind> { 565 class ElementKind implements Enum<ElementKind> {
565 static final ElementKind CLASS = new ElementKind('CLASS', 0, "class"); 566 static final ElementKind CLASS = new ElementKind('CLASS', 0, "class");
566 static final ElementKind COMPILATION_UNIT = new ElementKind('COMPILATION_UNIT' , 1, "compilation unit"); 567 static final ElementKind COMPILATION_UNIT = new ElementKind('COMPILATION_UNIT' , 1, "compilation unit");
567 static final ElementKind CONSTRUCTOR = new ElementKind('CONSTRUCTOR', 2, "cons tructor"); 568 static final ElementKind CONSTRUCTOR = new ElementKind('CONSTRUCTOR', 2, "cons tructor");
568 static final ElementKind DYNAMIC = new ElementKind('DYNAMIC', 3, "<dynamic>"); 569 static final ElementKind DYNAMIC = new ElementKind('DYNAMIC', 3, "<dynamic>");
569 static final ElementKind EMBEDDED_HTML_SCRIPT = new ElementKind('EMBEDDED_HTML _SCRIPT', 4, "embedded html script"); 570 static final ElementKind EMBEDDED_HTML_SCRIPT = new ElementKind('EMBEDDED_HTML _SCRIPT', 4, "embedded html script");
570 static final ElementKind ERROR = new ElementKind('ERROR', 5, "<error>"); 571 static final ElementKind ERROR = new ElementKind('ERROR', 5, "<error>");
571 static final ElementKind EXPORT = new ElementKind('EXPORT', 6, "export directi ve"); 572 static final ElementKind EXPORT = new ElementKind('EXPORT', 6, "export directi ve");
572 static final ElementKind EXTERNAL_HTML_SCRIPT = new ElementKind('EXTERNAL_HTML _SCRIPT', 7, "external html script"); 573 static final ElementKind EXTERNAL_HTML_SCRIPT = new ElementKind('EXTERNAL_HTML _SCRIPT', 7, "external html script");
573 static final ElementKind FIELD = new ElementKind('FIELD', 8, "field"); 574 static final ElementKind FIELD = new ElementKind('FIELD', 8, "field");
574 static final ElementKind FUNCTION = new ElementKind('FUNCTION', 9, "function") ; 575 static final ElementKind FUNCTION = new ElementKind('FUNCTION', 9, "function") ;
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
1160 */ 1161 */
1161 abstract class MultiplyDefinedElement implements Element { 1162 abstract class MultiplyDefinedElement implements Element {
1162 1163
1163 /** 1164 /**
1164 * Return an array containing all of the elements that were defined within the scope to have the 1165 * Return an array containing all of the elements that were defined within the scope to have the
1165 * same name. 1166 * same name.
1166 * 1167 *
1167 * @return the elements that were defined with the same name 1168 * @return the elements that were defined with the same name
1168 */ 1169 */
1169 List<Element> get conflictingElements; 1170 List<Element> get conflictingElements;
1171
1172 /**
1173 * Return the type of this element as the dynamic type.
1174 *
1175 * @return the type of this element as the dynamic type
1176 */
1177 Type2 get type;
1170 } 1178 }
1171 /** 1179 /**
1172 * The interface `NamespaceCombinator` defines the behavior common to objects th at control how 1180 * The interface `NamespaceCombinator` defines the behavior common to objects th at control how
1173 * namespaces are combined. 1181 * namespaces are combined.
1174 * 1182 *
1175 * @coverage dart.engine.element 1183 * @coverage dart.engine.element
1176 */ 1184 */
1177 abstract class NamespaceCombinator { 1185 abstract class NamespaceCombinator {
1178 1186
1179 /** 1187 /**
(...skipping 1481 matching lines...) Expand 10 before | Expand all | Expand 10 after
2661 2669
2662 /** 2670 /**
2663 * The offset of the name of this element in the file that contains the declar ation of this 2671 * The offset of the name of this element in the file that contains the declar ation of this
2664 * element. 2672 * element.
2665 */ 2673 */
2666 int _nameOffset = 0; 2674 int _nameOffset = 0;
2667 2675
2668 /** 2676 /**
2669 * A bit-encoded form of the modifiers associated with this element. 2677 * A bit-encoded form of the modifiers associated with this element.
2670 */ 2678 */
2671 Set<Modifier> _modifiers; 2679 int _modifiers = 0;
2672 2680
2673 /** 2681 /**
2674 * An array containing all of the metadata associated with this element. 2682 * An array containing all of the metadata associated with this element.
2675 */ 2683 */
2676 List<ElementAnnotation> _metadata = ElementAnnotationImpl.EMPTY_ARRAY; 2684 List<ElementAnnotation> _metadata = ElementAnnotationImpl.EMPTY_ARRAY;
2677 2685
2678 /** 2686 /**
2679 * A cached copy of the calculated hashCode for this element. 2687 * A cached copy of the calculated hashCode for this element.
2680 */ 2688 */
2681 int _cachedHashCode = 0; 2689 int _cachedHashCode = 0;
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
2813 * @return an identifier that uniquely identifies this element relative to its parent 2821 * @return an identifier that uniquely identifies this element relative to its parent
2814 */ 2822 */
2815 String get identifier => name; 2823 String get identifier => name;
2816 2824
2817 /** 2825 /**
2818 * Return `true` if this element has the given modifier associated with it. 2826 * Return `true` if this element has the given modifier associated with it.
2819 * 2827 *
2820 * @param modifier the modifier being tested for 2828 * @param modifier the modifier being tested for
2821 * @return `true` if this element has the given modifier associated with it 2829 * @return `true` if this element has the given modifier associated with it
2822 */ 2830 */
2823 bool hasModifier(Modifier modifier) => _modifiers != null && _modifiers.contai ns(modifier); 2831 bool hasModifier(Modifier modifier) => BooleanArray.get(_modifiers, modifier);
2824 2832
2825 /** 2833 /**
2826 * If the given child is not `null`, use the given visitor to visit it. 2834 * If the given child is not `null`, use the given visitor to visit it.
2827 * 2835 *
2828 * @param child the child to be visited 2836 * @param child the child to be visited
2829 * @param visitor the visitor to be used to visit the child 2837 * @param visitor the visitor to be used to visit the child
2830 */ 2838 */
2831 void safelyVisitChild(Element child, ElementVisitor<Object> visitor) { 2839 void safelyVisitChild(Element child, ElementVisitor<Object> visitor) {
2832 if (child != null) { 2840 if (child != null) {
2833 child.accept(visitor); 2841 child.accept(visitor);
(...skipping 24 matching lines...) Expand all
2858 } 2866 }
2859 2867
2860 /** 2868 /**
2861 * Set whether the given modifier is associated with this element to correspon d to the given 2869 * Set whether the given modifier is associated with this element to correspon d to the given
2862 * value. 2870 * value.
2863 * 2871 *
2864 * @param modifier the modifier to be set 2872 * @param modifier the modifier to be set
2865 * @param value `true` if the modifier is to be associated with this element 2873 * @param value `true` if the modifier is to be associated with this element
2866 */ 2874 */
2867 void setModifier(Modifier modifier, bool value) { 2875 void setModifier(Modifier modifier, bool value) {
2868 if (value) { 2876 _modifiers = BooleanArray.set(_modifiers, modifier, value);
2869 if (_modifiers == null) {
2870 _modifiers = new Set();
2871 }
2872 _modifiers.add(modifier);
2873 } else {
2874 if (_modifiers != null) {
2875 _modifiers.remove(modifier);
2876 if (_modifiers.isEmpty) {
2877 _modifiers = null;
2878 }
2879 }
2880 }
2881 } 2877 }
2882 } 2878 }
2883 /** 2879 /**
2884 * Instances of the class `ElementLocationImpl` implement an [ElementLocation]. 2880 * Instances of the class `ElementLocationImpl` implement an [ElementLocation].
2885 * 2881 *
2886 * @coverage dart.engine.element 2882 * @coverage dart.engine.element
2887 */ 2883 */
2888 class ElementLocationImpl implements ElementLocation { 2884 class ElementLocationImpl implements ElementLocation {
2889 2885
2890 /** 2886 /**
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2954 JavaStringBuilder builder = new JavaStringBuilder(); 2950 JavaStringBuilder builder = new JavaStringBuilder();
2955 int length = _components.length; 2951 int length = _components.length;
2956 for (int i = 0; i < length; i++) { 2952 for (int i = 0; i < length; i++) {
2957 if (i > 0) { 2953 if (i > 0) {
2958 builder.appendChar(_SEPARATOR_CHAR); 2954 builder.appendChar(_SEPARATOR_CHAR);
2959 } 2955 }
2960 encode(builder, _components[i]); 2956 encode(builder, _components[i]);
2961 } 2957 }
2962 return builder.toString(); 2958 return builder.toString();
2963 } 2959 }
2964 int get hashCode => JavaArrays.makeHashCode(_components); 2960 int get hashCode {
2961 int result = 1;
2962 for (int i = 0; i < _components.length; i++) {
2963 String component = _components[i];
2964 int componentHash;
2965 if (i <= 1) {
2966 componentHash = hashSourceComponent(component);
2967 } else {
2968 componentHash = component.hashCode;
2969 }
2970 result = 31 * result + componentHash;
2971 }
2972 return result;
2973 }
2965 String toString() => encoding; 2974 String toString() => encoding;
2966 2975
2967 /** 2976 /**
2968 * Decode the encoded form of a location into an array of components. 2977 * Decode the encoded form of a location into an array of components.
2969 * 2978 *
2970 * @param encoding the encoded form of a location 2979 * @param encoding the encoded form of a location
2971 * @return the components that were encoded 2980 * @return the components that were encoded
2972 */ 2981 */
2973 List<String> decode(String encoding) { 2982 List<String> decode(String encoding) {
2974 List<String> components = new List<String>(); 2983 List<String> components = new List<String>();
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
3026 if (left == null) { 3035 if (left == null) {
3027 return right == null; 3036 return right == null;
3028 } else if (right == null) { 3037 } else if (right == null) {
3029 return false; 3038 return false;
3030 } 3039 }
3031 if (left.length <= 1 || right.length <= 1) { 3040 if (left.length <= 1 || right.length <= 1) {
3032 return left == right; 3041 return left == right;
3033 } 3042 }
3034 return left.substring(1) == right.substring(1); 3043 return left.substring(1) == right.substring(1);
3035 } 3044 }
3045
3046 /**
3047 * Return the hash code of the given encoded source component, ignoring the so urce type indicator.
3048 *
3049 * @param sourceComponent the component to compute a hash code
3050 * @return the hash code of the given encoded source component
3051 */
3052 int hashSourceComponent(String sourceComponent) {
3053 if (sourceComponent.length <= 1) {
3054 return sourceComponent.hashCode;
3055 }
3056 return sourceComponent.substring(1).hashCode;
3057 }
3036 } 3058 }
3037 /** 3059 /**
3038 * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an 3060 * Instances of the class `EmbeddedHtmlScriptElementImpl` implement an
3039 * [EmbeddedHtmlScriptElement]. 3061 * [EmbeddedHtmlScriptElement].
3040 * 3062 *
3041 * @coverage dart.engine.element 3063 * @coverage dart.engine.element
3042 */ 3064 */
3043 class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb eddedHtmlScriptElement { 3065 class EmbeddedHtmlScriptElementImpl extends HtmlScriptElementImpl implements Emb eddedHtmlScriptElement {
3044 3066
3045 /** 3067 /**
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
3590 * Set the type variables defined for this type to the given variables. 3612 * Set the type variables defined for this type to the given variables.
3591 * 3613 *
3592 * @param typeVariables the type variables defined for this type 3614 * @param typeVariables the type variables defined for this type
3593 */ 3615 */
3594 void set typeVariables(List<TypeVariableElement> typeVariables2) { 3616 void set typeVariables(List<TypeVariableElement> typeVariables2) {
3595 for (TypeVariableElement variable in typeVariables2) { 3617 for (TypeVariableElement variable in typeVariables2) {
3596 ((variable as TypeVariableElementImpl)).enclosingElement = this; 3618 ((variable as TypeVariableElementImpl)).enclosingElement = this;
3597 } 3619 }
3598 this._typeVariables = typeVariables2; 3620 this._typeVariables = typeVariables2;
3599 } 3621 }
3622
3623 /**
3624 * Set the parameters defined by this type alias to the given parameters witho ut becoming the
3625 * parent of the parameters. This should only be used by the [TypeResolverVisi tor] when
3626 * creating a synthetic type alias.
3627 *
3628 * @param parameters the parameters defined by this type alias
3629 */
3630 void shareParameters(List<ParameterElement> parameters2) {
3631 this._parameters = parameters2;
3632 }
3633
3634 /**
3635 * Set the type variables defined for this type to the given variables without becoming the parent
3636 * of the variables. This should only be used by the [TypeResolverVisitor] whe n creating a
3637 * synthetic type alias.
3638 *
3639 * @param typeVariables the type variables defined for this type
3640 */
3641 void shareTypeVariables(List<TypeVariableElement> typeVariables2) {
3642 this._typeVariables = typeVariables2;
3643 }
3600 void visitChildren(ElementVisitor<Object> visitor) { 3644 void visitChildren(ElementVisitor<Object> visitor) {
3601 super.visitChildren(visitor); 3645 super.visitChildren(visitor);
3602 safelyVisitChildren(_parameters, visitor); 3646 safelyVisitChildren(_parameters, visitor);
3603 safelyVisitChildren(_typeVariables, visitor); 3647 safelyVisitChildren(_typeVariables, visitor);
3604 } 3648 }
3605 void appendTo(JavaStringBuilder builder) { 3649 void appendTo(JavaStringBuilder builder) {
3606 builder.append("typedef "); 3650 builder.append("typedef ");
3607 builder.append(displayName); 3651 builder.append(displayName);
3608 int variableCount = _typeVariables.length; 3652 int variableCount = _typeVariables.length;
3609 if (variableCount > 0) { 3653 if (variableCount > 0) {
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after
4306 builder.append(displayName); 4350 builder.append(displayName);
4307 super.appendTo(builder); 4351 super.appendTo(builder);
4308 } 4352 }
4309 } 4353 }
4310 /** 4354 /**
4311 * The enumeration `Modifier` defines constants for all of the modifiers defined by the Dart 4355 * The enumeration `Modifier` defines constants for all of the modifiers defined by the Dart
4312 * language and for a few additional flags that are useful. 4356 * language and for a few additional flags that are useful.
4313 * 4357 *
4314 * @coverage dart.engine.element 4358 * @coverage dart.engine.element
4315 */ 4359 */
4316 class Modifier implements Comparable<Modifier> { 4360 class Modifier implements Enum<Modifier> {
4317 static final Modifier ABSTRACT = new Modifier('ABSTRACT', 0); 4361 static final Modifier ABSTRACT = new Modifier('ABSTRACT', 0);
4318 static final Modifier CONST = new Modifier('CONST', 1); 4362 static final Modifier CONST = new Modifier('CONST', 1);
4319 static final Modifier FACTORY = new Modifier('FACTORY', 2); 4363 static final Modifier FACTORY = new Modifier('FACTORY', 2);
4320 static final Modifier FINAL = new Modifier('FINAL', 3); 4364 static final Modifier FINAL = new Modifier('FINAL', 3);
4321 static final Modifier GETTER = new Modifier('GETTER', 4); 4365 static final Modifier GETTER = new Modifier('GETTER', 4);
4322 static final Modifier MIXIN = new Modifier('MIXIN', 5); 4366 static final Modifier MIXIN = new Modifier('MIXIN', 5);
4323 static final Modifier REFERENCES_SUPER = new Modifier('REFERENCES_SUPER', 6); 4367 static final Modifier REFERENCES_SUPER = new Modifier('REFERENCES_SUPER', 6);
4324 static final Modifier SETTER = new Modifier('SETTER', 7); 4368 static final Modifier SETTER = new Modifier('SETTER', 7);
4325 static final Modifier STATIC = new Modifier('STATIC', 8); 4369 static final Modifier STATIC = new Modifier('STATIC', 8);
4326 static final Modifier SYNTHETIC = new Modifier('SYNTHETIC', 9); 4370 static final Modifier SYNTHETIC = new Modifier('SYNTHETIC', 9);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
4389 AnalysisContext get context => _context; 4433 AnalysisContext get context => _context;
4390 String get displayName => _name; 4434 String get displayName => _name;
4391 Element get enclosingElement => null; 4435 Element get enclosingElement => null;
4392 ElementKind get kind => ElementKind.ERROR; 4436 ElementKind get kind => ElementKind.ERROR;
4393 LibraryElement get library => null; 4437 LibraryElement get library => null;
4394 ElementLocation get location => null; 4438 ElementLocation get location => null;
4395 List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY; 4439 List<ElementAnnotation> get metadata => ElementAnnotationImpl.EMPTY_ARRAY;
4396 String get name => _name; 4440 String get name => _name;
4397 int get nameOffset => -1; 4441 int get nameOffset => -1;
4398 Source get source => null; 4442 Source get source => null;
4443 Type2 get type => DynamicTypeImpl.instance;
4399 bool isAccessibleIn(LibraryElement library) { 4444 bool isAccessibleIn(LibraryElement library) {
4400 for (Element element in _conflictingElements) { 4445 for (Element element in _conflictingElements) {
4401 if (element.isAccessibleIn(library)) { 4446 if (element.isAccessibleIn(library)) {
4402 return true; 4447 return true;
4403 } 4448 }
4404 } 4449 }
4405 return false; 4450 return false;
4406 } 4451 }
4407 bool get isSynthetic => true; 4452 bool get isSynthetic => true;
4408 String toString() { 4453 String toString() {
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
5074 * @param baseConstructor the base constructor for which a member might be cre ated 5119 * @param baseConstructor the base constructor for which a member might be cre ated
5075 * @param definingType the type defining the parameters and arguments to be us ed in the 5120 * @param definingType the type defining the parameters and arguments to be us ed in the
5076 * substitution 5121 * substitution
5077 * @return the constructor element that will return the correctly substituted types 5122 * @return the constructor element that will return the correctly substituted types
5078 */ 5123 */
5079 static ConstructorElement from(ConstructorElement baseConstructor, InterfaceTy pe definingType) { 5124 static ConstructorElement from(ConstructorElement baseConstructor, InterfaceTy pe definingType) {
5080 if (baseConstructor == null || definingType.typeArguments.length == 0) { 5125 if (baseConstructor == null || definingType.typeArguments.length == 0) {
5081 return baseConstructor; 5126 return baseConstructor;
5082 } 5127 }
5083 FunctionType baseType = baseConstructor.type; 5128 FunctionType baseType = baseConstructor.type;
5129 if (baseType == null) {
5130 return baseConstructor;
5131 }
5084 List<Type2> argumentTypes = definingType.typeArguments; 5132 List<Type2> argumentTypes = definingType.typeArguments;
5085 List<Type2> parameterTypes = definingType.element.type.typeArguments; 5133 List<Type2> parameterTypes = definingType.element.type.typeArguments;
5086 FunctionType substitutedType = baseType.substitute2(argumentTypes, parameter Types); 5134 FunctionType substitutedType = baseType.substitute2(argumentTypes, parameter Types);
5087 if (baseType == substitutedType) { 5135 if (baseType == substitutedType) {
5088 return baseConstructor; 5136 return baseConstructor;
5089 } 5137 }
5090 return new ConstructorMember(baseConstructor, definingType); 5138 return new ConstructorMember(baseConstructor, definingType);
5091 } 5139 }
5092 5140
5093 /** 5141 /**
(...skipping 2350 matching lines...) Expand 10 before | Expand all | Expand 10 after
7444 } 7492 }
7445 /** 7493 /**
7446 * The interface `VoidType` defines the behavior of the unique object representi ng the type 7494 * The interface `VoidType` defines the behavior of the unique object representi ng the type
7447 * `void`. 7495 * `void`.
7448 * 7496 *
7449 * @coverage dart.engine.type 7497 * @coverage dart.engine.type
7450 */ 7498 */
7451 abstract class VoidType implements Type2 { 7499 abstract class VoidType implements Type2 {
7452 VoidType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes); 7500 VoidType substitute2(List<Type2> argumentTypes, List<Type2> parameterTypes);
7453 } 7501 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698