diff options
author | acolyer <acolyer> | 2005-07-11 13:48:57 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-07-11 13:48:57 +0000 |
commit | 3be70641af15361548ab3a576d97fceaea1a9557 (patch) | |
tree | 4a0d2787b8547c6c7ae03ee8e2b59b8b3611bdb8 /tests/java5 | |
parent | ebeba53b5bc8c8134ac1bfe119c3154008862cc0 (diff) | |
download | aspectj-3be70641af15361548ab3a576d97fceaea1a9557.tar.gz aspectj-3be70641af15361548ab3a576d97fceaea1a9557.zip |
added one simple test for matching members of a parameterized type.
Took me 3 days to get it to pass!!!
Diffstat (limited to 'tests/java5')
4 files changed, 39 insertions, 0 deletions
diff --git a/tests/java5/generics/pointcuts/ConcreteImplementingClass.java b/tests/java5/generics/pointcuts/ConcreteImplementingClass.java new file mode 100644 index 000000000..b0446cf51 --- /dev/null +++ b/tests/java5/generics/pointcuts/ConcreteImplementingClass.java @@ -0,0 +1,9 @@ +public class ConcreteImplementingClass +implements GenericInterface<Double> { + + // make sure this method starts on line 5... + public int asInt(Double d) { + return d.intValue(); + } + +}
\ No newline at end of file diff --git a/tests/java5/generics/pointcuts/GenericImplementingClass.java b/tests/java5/generics/pointcuts/GenericImplementingClass.java new file mode 100644 index 000000000..89b8d7870 --- /dev/null +++ b/tests/java5/generics/pointcuts/GenericImplementingClass.java @@ -0,0 +1,8 @@ +public class GenericImplementingClass<N extends Number> + implements GenericInterface<N> { + + public int asInt(N aNumber) { + return aNumber.intValue(); + } + + }
\ No newline at end of file diff --git a/tests/java5/generics/pointcuts/GenericInterface.java b/tests/java5/generics/pointcuts/GenericInterface.java new file mode 100644 index 000000000..10923121f --- /dev/null +++ b/tests/java5/generics/pointcuts/GenericInterface.java @@ -0,0 +1,5 @@ +public interface GenericInterface<N extends Number> { + + int asInt(N aNumber); + +} diff --git a/tests/java5/generics/pointcuts/RawTypeMatching.aj b/tests/java5/generics/pointcuts/RawTypeMatching.aj new file mode 100644 index 000000000..32e80a2ff --- /dev/null +++ b/tests/java5/generics/pointcuts/RawTypeMatching.aj @@ -0,0 +1,17 @@ +public aspect RawTypeMatching { + + // tests that references to a generic or parameterized type are + // always matched by a type pattern refering to the raw type form + + void someCode() { + ConcreteImplementingClass cic = new ConcreteImplementingClass(); + cic.asInt(5.0d); + GenericImplementingClass<Long> gic = new GenericImplementingClass<Long>(); + gic.asInt(55L); + } + + declare warning : + execution(* GenericInterface.*(..)) : + "execution(* GenericInterface.*(..))"; + +}
\ No newline at end of file |