aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher
diff options
context:
space:
mode:
authoraclement <aclement>2009-07-30 15:29:40 +0000
committeraclement <aclement>2009-07-30 15:29:40 +0000
commitdd7d87923f6f8e6ccdc3e387679ba5a3c70550ac (patch)
tree06d6a34814cf84d469efa996761906fa6b9080fb /org.aspectj.matcher
parent716ae41d883c69c224b9b35e9ec8359bb1ca7e4e (diff)
downloadaspectj-dd7d87923f6f8e6ccdc3e387679ba5a3c70550ac.tar.gz
aspectj-dd7d87923f6f8e6ccdc3e387679ba5a3c70550ac.zip
285172: use cached ref type
Diffstat (limited to 'org.aspectj.matcher')
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/World.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/World.java b/org.aspectj.matcher/src/org/aspectj/weaver/World.java
index 9e1186904..92666c15e 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/World.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/World.java
@@ -285,10 +285,16 @@ public abstract class World implements Dump.INode {
}
// Pulling in the type may have already put the right entry in the map
- if (typeMap.get(signature) == null && !ret.isMissing()) {
+ ResolvedType result = typeMap.get(signature);
+ if (result == null && !ret.isMissing()) {
typeMap.put(signature, ret);
+ return ret;
+ }
+ if (result == null) {
+ return ret;
+ } else {
+ return result;
}
- return ret;
}
/**