| Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/ClassElementImpl.java
|
| diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/ClassElementImpl.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/ClassElementImpl.java
|
| index 61c551ba85f93f9899589d3d05051abc1da82f15..8d6db9089b8841e9aa6536153136bbe5557f5ca3 100644
|
| --- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/ClassElementImpl.java
|
| +++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/ClassElementImpl.java
|
| @@ -282,6 +282,32 @@ public class ClassElementImpl extends ElementImpl implements ClassElement {
|
| }
|
|
|
| @Override
|
| + public boolean hasNonFinalField() {
|
| + // check fields
|
| + for (FieldElement field : fields) {
|
| + if (!field.isFinal() && !field.isConst() && !field.isStatic() && !field.isSynthetic()) {
|
| + return true;
|
| + }
|
| + }
|
| + // check mixins
|
| + for (InterfaceType mixinType : mixins) {
|
| + ClassElement mixinElement = mixinType.getElement();
|
| + if (mixinElement.hasNonFinalField()) {
|
| + return true;
|
| + }
|
| + }
|
| + // check super
|
| + if (supertype != null) {
|
| + ClassElement superElement = supertype.getElement();
|
| + if (superElement.hasNonFinalField()) {
|
| + return true;
|
| + }
|
| + }
|
| + // not found
|
| + return false;
|
| + }
|
| +
|
| + @Override
|
| public boolean hasReferenceToSuper() {
|
| return hasModifier(Modifier.REFERENCES_SUPER);
|
| }
|
|
|