]> source.dussan.org Git - aspectj.git/commitdiff
testcode for 162539 and 176991
authoraclement <aclement>
Wed, 28 Nov 2007 11:19:32 +0000 (11:19 +0000)
committeraclement <aclement>
Wed, 28 Nov 2007 11:19:32 +0000 (11:19 +0000)
tests/bugs154/pr162539/lib.jar [new file with mode: 0644]
tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java [new file with mode: 0644]
tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/HelloWorld.java [new file with mode: 0644]
tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/PointcutLibrary.java [new file with mode: 0644]
tests/bugs154/pr176991/AspectJBugTestCase.java [new file with mode: 0644]

diff --git a/tests/bugs154/pr162539/lib.jar b/tests/bugs154/pr162539/lib.jar
new file mode 100644 (file)
index 0000000..ae0983d
Binary files /dev/null and b/tests/bugs154/pr162539/lib.jar differ
diff --git a/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java b/tests/bugs154/pr162539/test/ataspectj/pointcutlibrary/AtAspect.java
new file mode 100644 (file)
index 0000000..0c988c8
--- /dev/null
@@ -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 (file)
index 0000000..6515d48
--- /dev/null
@@ -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 (file)
index 0000000..54b0a4a
--- /dev/null
@@ -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 (file)
index 0000000..9b9b27d
--- /dev/null
@@ -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;
+}