From: aclement Date: Tue, 1 Dec 2009 18:22:25 +0000 (+0000) Subject: 296533: generics info in generated accessor names X-Git-Tag: V1_6_7~20 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=41c8b34427a22eed17fd72df52fd646df78fe472;p=aspectj.git 296533: generics info in generated accessor names --- diff --git a/tests/bugs167/pr296533/testing/AbstractCache.aj b/tests/bugs167/pr296533/testing/AbstractCache.aj new file mode 100644 index 000000000..5f92189c2 --- /dev/null +++ b/tests/bugs167/pr296533/testing/AbstractCache.aj @@ -0,0 +1,43 @@ +package testing; + +import java.util.HashMap; +import java.util.Map; + +public abstract aspect AbstractCache { + + public abstract pointcut cachePoint(Key key); + + private Map cache = new HashMap(); + private Integer hitCount = 0; + private Integer missCount = 0; + + Value around(Key key) : cachePoint(key){ + Value value = get(key); + if(value == null){ + value = proceed(key); + put(key,value); + missCount++; + } else { + hitCount++; + } + return value; + } + + @SuppressWarnings("unchecked") + private Value get(Key key){ + return (Value) cache.get(key); + } + + private void put(Key key, Value value) { + cache.put(key, value); + } + + public Integer getHitCount() { + return hitCount; + } + + public Integer getMissCount() { + return missCount; + } + +} diff --git a/tests/bugs167/pr296533/testing/Resource.java b/tests/bugs167/pr296533/testing/Resource.java new file mode 100644 index 000000000..2c2f44b7c --- /dev/null +++ b/tests/bugs167/pr296533/testing/Resource.java @@ -0,0 +1,15 @@ +package testing; + +public class Resource { + + private final String id; + + public Resource(String id){ + this.id = id; + } + + public String getId(){ + return id; + } +} + diff --git a/tests/bugs167/pr296533/testing/ResourceCache.aj b/tests/bugs167/pr296533/testing/ResourceCache.aj new file mode 100644 index 000000000..27aa5a9da --- /dev/null +++ b/tests/bugs167/pr296533/testing/ResourceCache.aj @@ -0,0 +1,10 @@ +package testing; + +public aspect ResourceCache extends AbstractCache { + + public pointcut cachePoint(String key): + args(key) && + execution(public Resource ResourceManager.lookupResource(String)); + + +} diff --git a/tests/bugs167/pr296533/testing/ResourceManager.java b/tests/bugs167/pr296533/testing/ResourceManager.java new file mode 100644 index 000000000..80a9fe165 --- /dev/null +++ b/tests/bugs167/pr296533/testing/ResourceManager.java @@ -0,0 +1,8 @@ +package testing; + +public class ResourceManager { + + public Resource lookupResource(String resourceId){ + return new Resource(resourceId); + } +} diff --git a/tests/bugs167/pr296533/testing/TestRunner.java b/tests/bugs167/pr296533/testing/TestRunner.java new file mode 100644 index 000000000..4263cfe11 --- /dev/null +++ b/tests/bugs167/pr296533/testing/TestRunner.java @@ -0,0 +1,24 @@ +package testing; + +import java.lang.reflect.Method; + +public class TestRunner { + + public static void main(String[] args) { + ResourceManager manager = new ResourceManager(); + ResourceCache cache = ResourceCache.aspectOf(); + + Resource r1_1 = manager.lookupResource("1"); + Resource r1_2 = manager.lookupResource("1"); + Resource r1_3 = manager.lookupResource("1"); + Resource r1_4 = manager.lookupResource("1"); + Resource r1_5 = manager.lookupResource("1"); + + Resource r2_1 = manager.lookupResource("2"); + Resource r2_2 = manager.lookupResource("2"); + + System.out.println("Cache hits: " + cache.getHitCount()); + System.out.println("Cache hits: " + cache.getMissCount()); + } + +} diff --git a/tests/src/org/aspectj/systemtest/ajc167/Ajc167Tests.java b/tests/src/org/aspectj/systemtest/ajc167/Ajc167Tests.java index 8e59dd28f..b0804967a 100644 --- a/tests/src/org/aspectj/systemtest/ajc167/Ajc167Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc167/Ajc167Tests.java @@ -18,6 +18,10 @@ import org.aspectj.testing.XMLBasedAjcTestCase; public class Ajc167Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + public void testGenericAspectSignatures_296533() { + runTest("generic aspect signatures"); + } + public void testOptimizingAnnotationStringValueBinding() { runTest("optimizing string anno value binding"); } @@ -29,11 +33,10 @@ public class Ajc167Tests extends org.aspectj.testing.XMLBasedAjcTestCase { public void testOptimizingAnnotationBindingPerfTest() { runTest("optimizing annotation binding - 2"); } -/* - public void testPerThisLTW_295092() { - runTest("perthis ltw"); - } -*/ + + /* + * public void testPerThisLTW_295092() { runTest("perthis ltw"); } + */ public void testNpeOnBrokenCode_296054() { runTest("npe on broken code"); diff --git a/tests/src/org/aspectj/systemtest/ajc167/ajc167.xml b/tests/src/org/aspectj/systemtest/ajc167/ajc167.xml index 9fad6062d..c1acde861 100644 --- a/tests/src/org/aspectj/systemtest/ajc167/ajc167.xml +++ b/tests/src/org/aspectj/systemtest/ajc167/ajc167.xml @@ -3,6 +3,16 @@ + + + + + + + + + +