| Index: lib/compiler/implementation/elements/elements.dart
|
| diff --git a/lib/compiler/implementation/elements/elements.dart b/lib/compiler/implementation/elements/elements.dart
|
| index be1ca59a293012d48214c78478ab4762fd1bd68f..634ad99ac94c3a55602b7d21721c50f855cb675c 100644
|
| --- a/lib/compiler/implementation/elements/elements.dart
|
| +++ b/lib/compiler/implementation/elements/elements.dart
|
| @@ -345,11 +345,17 @@ class PrefixElement extends Element {
|
| }
|
|
|
| class TypedefElement extends Element {
|
| - Token token;
|
| + final Token token;
|
| + Type cachedType;
|
| +
|
| TypedefElement(SourceString name, Element enclosing, this.token)
|
| - : super(name, ElementKind.TYPEDEF, enclosing);
|
| + : super(name, ElementKind.TYPEDEF, enclosing) {
|
| + cachedType = new InterfaceType(this);
|
| + }
|
|
|
| position() => findMyName(token);
|
| +
|
| + Type computeType(Compiler compiler) => cachedType;
|
| }
|
|
|
| class VariableElement extends Element {
|
| @@ -729,7 +735,7 @@ class ClassElement extends ContainerElement {
|
|
|
| Type computeType(compiler) {
|
| if (type === null) {
|
| - type = new InterfaceType(name, this);
|
| + type = new InterfaceType(this);
|
| }
|
| return type;
|
| }
|
|
|