summaryrefslogtreecommitdiffstats
path: root/weaver/src
diff options
context:
space:
mode:
authoraclement <aclement>2006-06-08 08:30:08 +0000
committeraclement <aclement>2006-06-08 08:30:08 +0000
commit39bc21c734ee42b99644f30b78ec0f135483e414 (patch)
tree1fad1172f57ba359b7d001e5a2ad4a91cfab661a /weaver/src
parentafe41a56ebf6c0dcbe69285a263f0e5739d58028 (diff)
downloadaspectj-39bc21c734ee42b99644f30b78ec0f135483e414.tar.gz
aspectj-39bc21c734ee42b99644f30b78ec0f135483e414.zip
fix for 145950
Diffstat (limited to 'weaver/src')
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java13
1 files changed, 4 insertions, 9 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java b/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
index 80c7a53bf..085a83e7f 100644
--- a/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
+++ b/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
@@ -1299,17 +1299,12 @@ public final class LazyClassGen {
// and if one of them is missing we fail, and it's not worth failing just to put out
// a warning message!
private boolean implementsSerializable(ResolvedType aType) {
+ if (aType.getSignature().equals(UnresolvedType.SERIALIZABLE.getSignature())) return true;
+
ResolvedType[] interfaces = aType.getDeclaredInterfaces();
for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getSignature().equals(UnresolvedType.SERIALIZABLE.getSignature())) {
- return true;
- } else {
- if (interfaces[i].isMissing()) continue;
- ResolvedType superInterface = interfaces[i].getSuperclass();
- if (superInterface != null && !superInterface.isMissing()) {
- if (implementsSerializable(superInterface)) return true;
- }
- }
+ if (interfaces[i].isMissing()) continue;
+ if (implementsSerializable(interfaces[i])) return true;
}
ResolvedType superType = aType.getSuperclass();
if (superType != null && !superType.isMissing()) {