summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2008-05-29 19:02:12 +0000
committeraclement <aclement>2008-05-29 19:02:12 +0000
commit7852ac4696e6f505d1486dc6da5691a151938090 (patch)
treedf4ebf921c7e0be36536f14e95df97e4a3c0af5e
parent4635b923a3d910ea2f2e7e3a30b3e9af760178ea (diff)
downloadaspectj-7852ac4696e6f505d1486dc6da5691a151938090.tar.gz
aspectj-7852ac4696e6f505d1486dc6da5691a151938090.zip
prevent runaway memory usage
-rw-r--r--weaver/src/org/aspectj/weaver/World.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/World.java b/weaver/src/org/aspectj/weaver/World.java
index 493aec9a0..75ae09ac8 100644
--- a/weaver/src/org/aspectj/weaver/World.java
+++ b/weaver/src/org/aspectj/weaver/World.java
@@ -317,7 +317,9 @@ public abstract class World implements Dump.INode {
if (dumpState_cantFindTypeExceptions==null) {
dumpState_cantFindTypeExceptions = new ArrayList();
}
- dumpState_cantFindTypeExceptions.add(new RuntimeException("Can't find type "+ty.getName()));
+ if (dumpState_cantFindTypeExceptions.size() < 100) { // limit growth
+ dumpState_cantFindTypeExceptions.add(new RuntimeException("Can't find type " + ty.getName()));
+ }
return new MissingResolvedTypeWithKnownSignature(ty.getSignature(),this);
}