| Index: lib/compiler/implementation/elements/elements.dart
|
| diff --git a/lib/compiler/implementation/elements/elements.dart b/lib/compiler/implementation/elements/elements.dart
|
| index 023b5b9d03cb5247ad76673ade622c8a813c7027..8da30c0077a0485b84a8ac51ba32f0c7b8ac21ff 100644
|
| --- a/lib/compiler/implementation/elements/elements.dart
|
| +++ b/lib/compiler/implementation/elements/elements.dart
|
| @@ -122,7 +122,7 @@ class Element implements Hashable {
|
| listener.cancel("Internal Error: $this.parseNode", token: position());
|
| }
|
|
|
| - Type computeType(Compiler compiler) {
|
| + DartType computeType(Compiler compiler) {
|
| compiler.internalError("$this.computeType.", token: position());
|
| }
|
|
|
| @@ -559,7 +559,7 @@ class PrefixElement extends Element {
|
|
|
| lookupLocalMember(SourceString memberName) => imported[memberName];
|
|
|
| - Type computeType(Compiler compiler) => compiler.types.dynamicType;
|
| + DartType computeType(Compiler compiler) => compiler.types.dynamicType;
|
|
|
| Token position() => firstPosition;
|
|
|
| @@ -571,7 +571,7 @@ class PrefixElement extends Element {
|
| class TypedefElement extends Element implements TypeDeclarationElement {
|
| Typedef cachedNode;
|
| TypedefType cachedType;
|
| - Type alias;
|
| + DartType alias;
|
|
|
| bool isResolved = false;
|
| bool isBeingResolved = false;
|
| @@ -592,14 +592,14 @@ class TypedefElement extends Element implements TypeDeclarationElement {
|
| TypedefType computeType(Compiler compiler) {
|
| if (cachedType !== null) return cachedType;
|
| Typedef node = parseNode(compiler);
|
| - Link<Type> parameters =
|
| + Link<DartType> parameters =
|
| TypeDeclarationElement.createTypeVariables(this, node.typeParameters);
|
| cachedType = new TypedefType(this, parameters);
|
| compiler.resolveTypedef(this);
|
| return cachedType;
|
| }
|
|
|
| - Link<Type> get typeVariables => cachedType.typeArguments;
|
| + Link<DartType> get typeVariables => cachedType.typeArguments;
|
|
|
| Scope buildScope() =>
|
| new TypeDeclarationScope(enclosingElement.buildScope(), this);
|
| @@ -641,11 +641,11 @@ class VariableElement extends Element {
|
| listener.cancel('internal error: could not find $name', node: variables);
|
| }
|
|
|
| - Type computeType(Compiler compiler) {
|
| + DartType computeType(Compiler compiler) {
|
| return variables.computeType(compiler);
|
| }
|
|
|
| - Type get type => variables.type;
|
| + DartType get type => variables.type;
|
|
|
| bool isInstanceMember() {
|
| return isMember() && !modifiers.isStatic();
|
| @@ -694,7 +694,7 @@ class FieldParameterElement extends VariableElement {
|
| // [computeType] and [parseNode] methods to this element.
|
| class VariableListElement extends Element {
|
| VariableDefinitions cachedNode;
|
| - Type type;
|
| + DartType type;
|
| final Modifiers modifiers;
|
|
|
| /**
|
| @@ -720,7 +720,7 @@ class VariableListElement extends Element {
|
| return cachedNode;
|
| }
|
|
|
| - Type computeType(Compiler compiler) {
|
| + DartType computeType(Compiler compiler) {
|
| if (type != null) return type;
|
| VariableDefinitions node = parseNode(compiler);
|
| if (node.type !== null) {
|
| @@ -764,7 +764,7 @@ class ForeignElement extends Element {
|
| ForeignElement(SourceString name, ContainerElement enclosingElement)
|
| : super(name, ElementKind.FOREIGN, enclosingElement);
|
|
|
| - Type computeType(Compiler compiler) {
|
| + DartType computeType(Compiler compiler) {
|
| return compiler.types.dynamicType;
|
| }
|
|
|
| @@ -785,7 +785,7 @@ class AbstractFieldElement extends Element {
|
| AbstractFieldElement(SourceString name, Element enclosing)
|
| : super(name, ElementKind.ABSTRACT_FIELD, enclosing);
|
|
|
| - Type computeType(Compiler compiler) {
|
| + DartType computeType(Compiler compiler) {
|
| throw "internal error: AbstractFieldElement has no type";
|
| }
|
|
|
| @@ -835,7 +835,7 @@ class AbstractFieldElement extends Element {
|
| class FunctionSignature {
|
| Link<Element> requiredParameters;
|
| Link<Element> optionalParameters;
|
| - Type returnType;
|
| + DartType returnType;
|
| int requiredParameterCount;
|
| int optionalParameterCount;
|
| FunctionSignature(this.requiredParameters,
|
| @@ -862,7 +862,7 @@ class FunctionSignature {
|
|
|
| class FunctionElement extends Element {
|
| FunctionExpression cachedNode;
|
| - Type type;
|
| + DartType type;
|
| final Modifiers modifiers;
|
|
|
| FunctionSignature functionSignature;
|
| @@ -1038,7 +1038,7 @@ class SynthesizedConstructorElement extends FunctionElement {
|
| class VoidElement extends Element {
|
| VoidElement(Element enclosing)
|
| : super(const SourceString('void'), ElementKind.VOID, enclosing);
|
| - Type computeType(compiler) => compiler.types.voidType;
|
| + DartType computeType(compiler) => compiler.types.voidType;
|
| Node parseNode(_) {
|
| throw 'internal error: parseNode on void';
|
| }
|
| @@ -1059,19 +1059,19 @@ abstract class TypeDeclarationElement implements Element {
|
| */
|
| // TODO(johnniwinther): Find a (better) way to decouple [typeVariables] from
|
| // [Compiler].
|
| - abstract Link<Type> get typeVariables;
|
| + abstract Link<DartType> get typeVariables;
|
|
|
| /**
|
| * Creates the type variables, their type and corresponding element, for the
|
| * type variables declared in [parameter] on [element]. The bounds of the type
|
| * variables are not set until [element] has been resolved.
|
| */
|
| - static Link<Type> createTypeVariables(TypeDeclarationElement element,
|
| + static Link<DartType> createTypeVariables(TypeDeclarationElement element,
|
| NodeList parameters) {
|
| - if (parameters === null) return const EmptyLink<Type>();
|
| + if (parameters === null) return const EmptyLink<DartType>();
|
|
|
| // Create types and elements for type variable.
|
| - var arguments = new LinkBuilder<Type>();
|
| + var arguments = new LinkBuilder<DartType>();
|
| for (Link link = parameters.nodes; !link.isEmpty(); link = link.tail) {
|
| TypeVariable node = link.head;
|
| SourceString variableName = node.name.source;
|
| @@ -1089,9 +1089,9 @@ class ClassElement extends ScopeContainerElement
|
| implements TypeDeclarationElement {
|
| final int id;
|
| InterfaceType type;
|
| - Type supertype;
|
| - Type defaultClass;
|
| - Link<Type> interfaces;
|
| + DartType supertype;
|
| + DartType defaultClass;
|
| + Link<DartType> interfaces;
|
| SourceString nativeName;
|
| int supertypeLoadState;
|
| int resolutionState;
|
| @@ -1100,7 +1100,7 @@ class ClassElement extends ScopeContainerElement
|
| // compilation. They don't have any user-side counter-part.
|
| Link<Element> backendMembers = const EmptyLink<Element>();
|
|
|
| - Link<Type> allSupertypes;
|
| + Link<DartType> allSupertypes;
|
|
|
| // Lazily applied patch of class members.
|
| ClassElement patch = null;
|
| @@ -1113,7 +1113,7 @@ class ClassElement extends ScopeContainerElement
|
| InterfaceType computeType(compiler) {
|
| if (type == null) {
|
| ClassNode node = parseNode(compiler);
|
| - Link<Type> parameters =
|
| + Link<DartType> parameters =
|
| TypeDeclarationElement.createTypeVariables(this, node.typeParameters);
|
| type = new InterfaceType(this, parameters);
|
| }
|
| @@ -1122,7 +1122,7 @@ class ClassElement extends ScopeContainerElement
|
|
|
| bool get isPatched => patch != null;
|
|
|
| - Link<Type> get typeVariables => type.arguments;
|
| + Link<DartType> get typeVariables => type.arguments;
|
|
|
| ClassElement ensureResolved(Compiler compiler) {
|
| if (resolutionState == STATE_NOT_STARTED) {
|
| @@ -1344,7 +1344,7 @@ class ClassElement extends ScopeContainerElement
|
| }
|
|
|
| bool implementsInterface(ClassElement intrface) {
|
| - for (Type implementedInterfaceType in allSupertypes) {
|
| + for (DartType implementedInterfaceType in allSupertypes) {
|
| ClassElement implementedInterface = implementedInterfaceType.element;
|
| if (implementedInterface === intrface) {
|
| return true;
|
| @@ -1378,7 +1378,7 @@ class ClassElement extends ScopeContainerElement
|
| listener.internalErrorOnElement(this, 'unsupported operation');
|
| }
|
|
|
| - Link<Type> get allSupertypesAndSelf {
|
| + Link<DartType> get allSupertypesAndSelf {
|
| return allSupertypes.prepend(new InterfaceType(this));
|
| }
|
| }
|
| @@ -1589,7 +1589,7 @@ class TargetElement extends Element {
|
| class TypeVariableElement extends Element {
|
| final Node cachedNode;
|
| TypeVariableType type;
|
| - Type bound;
|
| + DartType bound;
|
|
|
| TypeVariableElement(name, Element enclosing, this.cachedNode,
|
| [this.type, this.bound])
|
|
|