diff options
author | aclement <aclement> | 2010-08-05 16:50:00 +0000 |
---|---|---|
committer | aclement <aclement> | 2010-08-05 16:50:00 +0000 |
commit | b700ab3bfb4ac02f78d093a190afc0def383b4bc (patch) | |
tree | dbbe68510b4e5c40d8b3c0792b6e8a6bb9cd26d2 /org.aspectj.matcher | |
parent | db423fea1bfc5f7a3fcda442fcad64a442c0eff0 (diff) | |
download | aspectj-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.java | 26 |
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"); |