From 7e71de736f50a564628a7b04b36f2b6d07f73b5a Mon Sep 17 00:00:00 2001 From: aclement Date: Mon, 8 Aug 2005 08:33:09 +0000 Subject: [PATCH] genericitds: test programs --- .../java5/generics/itds/BizarroSignatures.aj | 55 +++++++++++++++++++ tests/java5/generics/itds/sharing/Simple.aj | 30 ++++++++++ tests/java5/generics/itds/sharing/Simple2.aj | 28 ++++++++++ .../generics/itds/visibility/PackageITDs.aj | 30 ++++++++++ .../generics/itds/visibility/PrivateITDs.aj | 30 ++++++++++ .../generics/itds/visibility/PublicITDs.aj | 35 ++++++++++++ .../itds/visibility/PublicITDsErrors.aj | 29 ++++++++++ 7 files changed, 237 insertions(+) create mode 100644 tests/java5/generics/itds/BizarroSignatures.aj create mode 100644 tests/java5/generics/itds/sharing/Simple.aj create mode 100644 tests/java5/generics/itds/sharing/Simple2.aj create mode 100644 tests/java5/generics/itds/visibility/PackageITDs.aj create mode 100644 tests/java5/generics/itds/visibility/PrivateITDs.aj create mode 100644 tests/java5/generics/itds/visibility/PublicITDs.aj create mode 100644 tests/java5/generics/itds/visibility/PublicITDsErrors.aj diff --git a/tests/java5/generics/itds/BizarroSignatures.aj b/tests/java5/generics/itds/BizarroSignatures.aj new file mode 100644 index 000000000..03b683625 --- /dev/null +++ b/tests/java5/generics/itds/BizarroSignatures.aj @@ -0,0 +1,55 @@ +import java.util.*; + +class Victim {} + +public class BizarroSignatures { + public static void main(String []argv) { + Victim v = new Victim(); + + Map m = new HashMap(); + v.a(m); + + List as = new ArrayList(); + v.b(as); + v.c(as); + + //v.c(as); + + } + +} + +class A implements Comparable { + public int compareTo(A a) { return 0; } +} + +aspect X { + + public void Victim.a(Map map) {} + + public > + void Victim.b(List l) {} + + public

> + void Victim.c(List

col) {};//return null;} + +// public > +// T Victim.d(Collection col) {return null;} +// +// public > +// T Victim.e(Collection col) {return null;} +// +// public +// X Victim.f(Collection x) {return null;} +// +// public void Victim.g(List>>>> wtf) {} +// +// public +// void Victim.h(List a,List b) {} +// +// public +// void Victim.i(Map n) {} + +// public +// void Victim.j(T[] ts,Collection c) {} +} diff --git a/tests/java5/generics/itds/sharing/Simple.aj b/tests/java5/generics/itds/sharing/Simple.aj new file mode 100644 index 000000000..0c328ed34 --- /dev/null +++ b/tests/java5/generics/itds/sharing/Simple.aj @@ -0,0 +1,30 @@ +public class Simple { + public static void main(String []argv) { + Base base = new Base(); + List intList = new ArrayList(); + intList.add(5); + intList.add(2); + intList.add(3); + intList.add(8); + System.err.println(">"+base.m(intList)); + System.err.println(">"+base.m2(intList)); + } +} + + + +class Base { + + public int m(List ns) { + return ns.size(); + } + +} + +aspect X { + + public int Base.m2(List zs) { + return zs.size(); + } +} + diff --git a/tests/java5/generics/itds/sharing/Simple2.aj b/tests/java5/generics/itds/sharing/Simple2.aj new file mode 100644 index 000000000..50cac3ee7 --- /dev/null +++ b/tests/java5/generics/itds/sharing/Simple2.aj @@ -0,0 +1,28 @@ +public class Simple2 { + public static void main(String []argv) { + Base base = new Base(); + List intList = new ArrayList(); + intList.add(5); + base.f1 = intList; + base.copy(); + System.err.println("f2.get(0)=>"+f2.get(0)); + } +} + + + +class Base { + + public List f1; + +} + +aspect X { + + public List Base.f2; + + public void Base.copy() { + f2=f1; + } +} + diff --git a/tests/java5/generics/itds/visibility/PackageITDs.aj b/tests/java5/generics/itds/visibility/PackageITDs.aj new file mode 100644 index 000000000..eaa7f3122 --- /dev/null +++ b/tests/java5/generics/itds/visibility/PackageITDs.aj @@ -0,0 +1,30 @@ +import java.util.*; + +class Base { + +} + +public aspect PackageITDs { + + public static void main(String[] argv) { + List l1 = new ArrayList(); + Base b = new Base(); + b.packageMethod1(l1); + b.packageMethod2(l1,l1); + Base b2 = new Base(l1); + Base b3 = new Base(l1,l1); + Map m1 = new HashMap(); + Base b4 = new Base(l1,m1); + } + + + // methods + void Base.packageMethod1(List lr) {} + void Base.packageMethod2(List lr1,List lr2) {} + + // ctor +

Base.new(List

lr) {} +

Base.new(List

lr1,List

lr2) {} + Base.new(List

lp,Map m1) {} + +} diff --git a/tests/java5/generics/itds/visibility/PrivateITDs.aj b/tests/java5/generics/itds/visibility/PrivateITDs.aj new file mode 100644 index 000000000..beaebb49d --- /dev/null +++ b/tests/java5/generics/itds/visibility/PrivateITDs.aj @@ -0,0 +1,30 @@ +import java.util.*; + +class Base { + +} + +public aspect PrivateITDs { + + public static void main(String[] argv) { + List l1 = new ArrayList(); + Base b = new Base(); + b.privateMethod1(l1); + b.privateMethod2(l1,l1); + Base b2 = new Base(l1); + Base b3 = new Base(l1,l1); + Map m1 = new HashMap(); + Base b4 = new Base(l1,m1); + } + + + // methods + private void Base.privateMethod1(List lr) {} + private void Base.privateMethod2(List lr1,List lr2) {} + + // ctor + private

Base.new(List

lr) {} + private

Base.new(List

lr1,List

lr2) {} + private Base.new(List

lp,Map m1) {} + +} diff --git a/tests/java5/generics/itds/visibility/PublicITDs.aj b/tests/java5/generics/itds/visibility/PublicITDs.aj new file mode 100644 index 000000000..25d58b4a3 --- /dev/null +++ b/tests/java5/generics/itds/visibility/PublicITDs.aj @@ -0,0 +1,35 @@ +import java.util.*; + +class Base { + +} + +public class PublicITDs { + + public static void main(String[] argv) { + List l1 = new ArrayList(); + Base b = new Base(); + b.publicMethod1(l1); + b.publicMethod2(l1,l1); + Base b2 = new Base(l1); + Base b3 = new Base(l1,l1); + Map m1 = new HashMap(); + Base b4 = new Base(l1,m1); + } + +} + +aspect X { + + // methods + public void Base.publicMethod1(List lr) {} + public void Base.publicMethod2(List lr1,List lr2) {} + + // ctor + public

Base.new(List

lr) {} + public

Base.new(List

lr1,List

lr2) {} + public Base.new(List

lp,Map m1) {} + + // what use is this next one?? + // public R Base.publicMethod3() { return null;} +} diff --git a/tests/java5/generics/itds/visibility/PublicITDsErrors.aj b/tests/java5/generics/itds/visibility/PublicITDsErrors.aj new file mode 100644 index 000000000..cc7bd81cf --- /dev/null +++ b/tests/java5/generics/itds/visibility/PublicITDsErrors.aj @@ -0,0 +1,29 @@ +import java.util.*; + +class Base { + +} + +public class PublicITDsErrors { + + public static void main(String[] argv) { + List l1 = new ArrayList(); + List l2 = new ArrayList(); + Base b = new Base(); + b.publicMethod2(l1,l2); // CE attempt to bind tvar to Float & Double + Map m1 = new HashMap(); + Base b4 = new Base(l1,m1); // CE attempt to bind tvarP to Double and String + } + +} + +aspect X { + // methods + public void Base.publicMethod1(List lr) {} + public void Base.publicMethod2(List lr1,List lr2) {} + + // ctor + public

Base.new(List

lr) {} + public

Base.new(List

lr1,List

lr2) {} + public Base.new(List

lp,Map m1) {} +} -- 2.39.5