diff options
-rw-r--r-- | tests/bugs154/pr162539/lib.jar | bin | 0 -> 901 bytes | |||
-rw-r--r-- | tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java | 19 | ||||
-rw-r--r-- | tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/HelloWorld.java | 9 | ||||
-rw-r--r-- | tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/PointcutLibrary.java | 11 | ||||
-rw-r--r-- | tests/bugs154/pr176991/AspectJBugTestCase.java | 91 |
5 files changed, 130 insertions, 0 deletions
diff --git a/tests/bugs154/pr162539/lib.jar b/tests/bugs154/pr162539/lib.jar Binary files differnew file mode 100644 index 000000000..ae0983d9b --- /dev/null +++ b/tests/bugs154/pr162539/lib.jar diff --git a/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java new file mode 100644 index 000000000..0c988c8d2 --- /dev/null +++ b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java @@ -0,0 +1,19 @@ +package test.ataspectj.pointcutlibrary; + +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; + +@Aspect +public class AtAspect { +// @Pointcut("execution(public void main(String[]))") +// public void mainMethod () { +// } + + @Before("(PointcutLibrary.mainMethod())") + public void beforeMainMethod (JoinPoint.StaticPart thisJoinPointStaticPart, JoinPoint thisJoinPoint) { + System.out.println("AtAspect.beforeMainMethod() " + thisJoinPoint); + } + +} diff --git a/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/HelloWorld.java b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/HelloWorld.java new file mode 100644 index 000000000..6515d48f9 --- /dev/null +++ b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/HelloWorld.java @@ -0,0 +1,9 @@ +package test.ataspectj.pointcutlibrary; + +public class HelloWorld { + + public static void main(String[] args) { + System.out.println("Hello World!"); + } + +} diff --git a/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/PointcutLibrary.java b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/PointcutLibrary.java new file mode 100644 index 000000000..54b0a4aff --- /dev/null +++ b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/PointcutLibrary.java @@ -0,0 +1,11 @@ +package test.ataspectj.pointcutlibrary; + +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; + +//@Aspect +public class PointcutLibrary { +//pointcut mainMethod(): execution(public void main(String[])); +@Pointcut("execution(public void main(String[]))") public void mainMethod () { } + +} diff --git a/tests/bugs154/pr176991/AspectJBugTestCase.java b/tests/bugs154/pr176991/AspectJBugTestCase.java new file mode 100644 index 000000000..9b9b27d78 --- /dev/null +++ b/tests/bugs154/pr176991/AspectJBugTestCase.java @@ -0,0 +1,91 @@ +package com.ihg.dec.framework.commons.utils.cow; + +import java.util.AbstractSet; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; +import java.util.Map.Entry; + +public class AspectJBugTestCase { + class Value<V> { + private V value; + public Value(V value) { + this.value = value; + } + public V getValue() { + return value; + } + public void setValue(V value) { + this.value = value; + } + } + + class EntrySetEntry<K, V> implements Entry<K, V> { + private Entry<K, Value<V>> wrapped; + + public EntrySetEntry(Entry<K, Value<V>> wrapped) { + this.wrapped = wrapped; + } + + public K getKey() { + return wrapped.getKey(); + } + + public V getValue() { + return wrapped.getValue().getValue(); + } + + public V setValue(V value) { + Value<V> old = wrapped.setValue(new Value<V>(value)); + return old == null ? null : old.getValue(); + } + + } + + class EntrySetIterator<K, V> implements Iterator<Entry<K, V>> { + private Iterator<Entry<K, Value<V>>> wrapped; + + public EntrySetIterator(Iterator<Entry<K, Value<V>>> wrapped) { + this.wrapped = wrapped; + } + + public boolean hasNext() { + return wrapped.hasNext(); + } + + public Entry<K, V> next() { + return new EntrySetEntry<K, V>(wrapped.next()); + } + + public void remove() { + throw new UnsupportedOperationException("Not implemented."); + } + } + + class EntrySet<K, V> extends AbstractSet<Entry<K, V>> implements + Set<Entry<K, V>> { + private Set<Entry<K, Value<V>>> wrapped; + + public EntrySet(Set<Entry<K, Value<V>>> wrapped) { + this.wrapped = wrapped; + } + + @Override + public Iterator<Entry<K, V>> iterator() { + return new EntrySetIterator<K, V>(wrapped.iterator()); + } + + @Override + public int size() { + return wrapped.size(); + } + } + + public void testIt() { + new EntrySet<String, String>( new HashSet<Entry<String, Value<String>>>()); + } +} + +aspect X { + declare parents: *.Entry* implements java.io.Serializable; +} |