summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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()) {