diff options
author | aclement <aclement> | 2005-12-15 14:15:14 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-12-15 14:15:14 +0000 |
commit | 305786094b456b3d17b0d82abe4ab6fbd4f870bc (patch) | |
tree | 8e75e1ab3a7c069a26b2c6ff0dcff5c8985802ca /weaver | |
parent | 332eef9ebd79970f5ac2fe671c4e0efdce85974a (diff) | |
download | aspectj-305786094b456b3d17b0d82abe4ab6fbd4f870bc.tar.gz aspectj-305786094b456b3d17b0d82abe4ab6fbd4f870bc.zip |
fix for clone case in 120916: Jrockit test failures with RC1
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/ResolvedType.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedType.java b/weaver/src/org/aspectj/weaver/ResolvedType.java index ee8b7d0ac..ce072037f 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedType.java +++ b/weaver/src/org/aspectj/weaver/ResolvedType.java @@ -1620,8 +1620,13 @@ public abstract class ResolvedType extends UnresolvedType implements AnnotatedEl // not marked abstract. The code below this next line seems to make assumptions // about what will have gotten through the compiler based on the normal // java rules. clone goes against these... - if (m2.isProtected() && m2.isNative() && m2.getName().equals("clone")) return +1; - + if (m2.isProtected() && m2.getName().charAt(0)=='c') { + UnresolvedType declaring = m2.getDeclaringType(); + if (declaring!=null) { + if (declaring.getName().equals("java.lang.Object") && m2.getName().equals("clone")) return +1; + } + } + if (Modifier.isAbstract(m1.getModifiers())) return -1; if (Modifier.isAbstract(m2.getModifiers())) return +1; |