| Index: compiler/java/com/google/dart/compiler/resolver/Elements.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/Elements.java b/compiler/java/com/google/dart/compiler/resolver/Elements.java
|
| index 190cb9f8d03a78660849c1f92b290d688a0fa6c8..26b82f425ffabc101110390e7e4463f6737f4400 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/Elements.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/Elements.java
|
| @@ -768,5 +768,30 @@ static FieldElementImplementation fieldFromNode(DartField node,
|
| }
|
| return false;
|
| }
|
| +
|
| + public static boolean hasClassMember(ClassElement clazz, String name) {
|
| + if (clazz.lookupLocalElement(name) != null) {
|
| + return true;
|
| + }
|
| + for (InterfaceType interfaceType : clazz.getInterfaces()) {
|
| + if (hasClassMember(interfaceType.getElement(), name)) {
|
| + return true;
|
| + }
|
| + }
|
| + if (clazz.getSupertype() != null) {
|
| + if (hasClassMember(clazz.getSupertype().getElement(), name)) {
|
| + return true;
|
| + }
|
| + }
|
| + return false;
|
| + }
|
|
|
| + /**
|
| + * @return <code>true</code> if given {@link FieldElement} is explicitly declared static, or is
|
| + * static implicitly.
|
| + */
|
| + public static boolean isStaticField(FieldElement field) {
|
| + Modifiers modifiers = field.getModifiers();
|
| + return modifiers.isStatic() || modifiers.isConstant();
|
| + }
|
| }
|
|
|