Browse Source

extra debug around a problematic bit of code.

extensions
aclement 17 years ago
parent
commit
2f5f87fcf2
1 changed files with 22 additions and 2 deletions
  1. 22
    2
      weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java

+ 22
- 2
weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java View File

@@ -791,8 +791,28 @@ public class BcelObjectType extends AbstractReferenceTypeDelegate {
weaverState.setReweavable(false);
weaverState.setUnwovenClassFileData(null);
}
for (int i = methods.length - 1; i >= 0; i--) methods[i].evictWeavingState();
for (int i = fields.length - 1; i >= 0; i--) fields[i].evictWeavingState();
ResolvedMember currentMember = null;
try {
for (int i = methods.length - 1; i >= 0; i--) {
currentMember = methods[i];
methods[i].evictWeavingState();
}
for (int i = fields.length - 1; i >= 0; i--) {
currentMember = fields[i];
fields[i].evictWeavingState();
}
} catch (IllegalStateException ise) {
// once we've found our problem, let's promote this to trace?
ise.printStackTrace(); // temporary...
// add more diagnostics !!!
StringBuffer newMessage = new StringBuffer();
newMessage.append("Unexpected problem evicting state for members.");
newMessage.append("Problematic type is "+className+".");
newMessage.append("Problematic member is "+currentMember+".");
newMessage.append(ise.getMessage());
throw new IllegalStateException(newMessage.toString());
}
javaClass = null;
// setSourceContext(SourceContextImpl.UNKNOWN_SOURCE_CONTEXT); // bit naughty
// interfaces=null; // force reinit - may get us the right instances!

Loading…
Cancel
Save