| Index: compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java b/compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java
|
| index e8b4b45b9f6dccf2f16cde8a86c2ee1f3d3eff79..64d0528050d6319270dc131424b58b363d7a32a3 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/ClassElementImplementation.java
|
| @@ -119,7 +119,13 @@ class ClassElementImplementation extends AbstractNodeElement implements ClassNod
|
|
|
| @Override
|
| public void setSupertype(InterfaceType supertype) {
|
| + if (this.supertype != null) {
|
| + this.supertype.unregisterSubClass(this);
|
| + }
|
| this.supertype = supertype;
|
| + if (this.supertype != null) {
|
| + this.supertype.registerSubClass(this);
|
| + }
|
| }
|
|
|
| void setDefaultClass(InterfaceType element) {
|
| @@ -210,6 +216,7 @@ class ClassElementImplementation extends AbstractNodeElement implements ClassNod
|
|
|
| void addInterface(InterfaceType type) {
|
| interfaces.add(type);
|
| + type.registerSubClass(this);
|
| }
|
|
|
| Element findElement(String name) {
|
|
|