aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher
diff options
context:
space:
mode:
authoraclement <aclement>2010-08-05 16:50:00 +0000
committeraclement <aclement>2010-08-05 16:50:00 +0000
commitb700ab3bfb4ac02f78d093a190afc0def383b4bc (patch)
treedbbe68510b4e5c40d8b3c0792b6e8a6bb9cd26d2 /org.aspectj.matcher
parentdb423fea1bfc5f7a3fcda442fcad64a442c0eff0 (diff)
downloadaspectj-b700ab3bfb4ac02f78d093a190afc0def383b4bc.tar.gz
aspectj-b700ab3bfb4ac02f78d093a190afc0def383b4bc.zip
278496: corrected demotion activation
Diffstat (limited to 'org.aspectj.matcher')
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/World.java26
1 files changed, 14 insertions, 12 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/World.java b/org.aspectj.matcher/src/org/aspectj/weaver/World.java
index 798f98ba7..d4b435129 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/World.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/World.java
@@ -1068,12 +1068,12 @@ public abstract class World implements Dump.INode {
}
List<ConcreteTypeMunger> typeMungers = type.getInterTypeMungers();
if (typeMungers == null || typeMungers.size() == 0) {
- tMap.remove(key);
- insertInExpendableMap(key, type);
- demotionCounter++;
+ tMap.remove(key);
+ insertInExpendableMap(key, type);
+ demotionCounter++;
+ }
}
}
- }
addedSinceLastDemote.clear();
} else {
// Compile time demotion strategy
@@ -1518,14 +1518,16 @@ public abstract class World implements Dump.INode {
MessageUtil.info("[completeBinaryTypes=true] Completion of binary types activated"));
}
- s = p.getProperty(xsetTYPE_DEMOTION, "true"); // default is: ON (for ltw) OFF (for ctw)
- boolean b = typeMap.demotionSystemActive;
- if (b && s.equalsIgnoreCase("false")) {
- System.out.println("typeDemotion=false: type demotion switched OFF");
- typeMap.demotionSystemActive = false;
- } else if (!b && s.equalsIgnoreCase("true")) {
- System.out.println("typeDemotion=true: type demotion switched ON");
- typeMap.demotionSystemActive = true;
+ s = p.getProperty(xsetTYPE_DEMOTION); // default is: ON (for ltw) OFF (for ctw)
+ if (s != null) {
+ boolean b = typeMap.demotionSystemActive;
+ if (b && s.equalsIgnoreCase("false")) {
+ System.out.println("typeDemotion=false: type demotion switched OFF");
+ typeMap.demotionSystemActive = false;
+ } else if (!b && s.equalsIgnoreCase("true")) {
+ System.out.println("typeDemotion=true: type demotion switched ON");
+ typeMap.demotionSystemActive = true;
+ }
}
s = p.getProperty(xsetOVERWEAVING, "false");