From c78628924a9969b5e84ac13cbaf63efa13422d0e Mon Sep 17 00:00:00 2001 From: aclement Date: Fri, 18 Jul 2008 21:56:31 +0000 Subject: [PATCH] 230234 comment 10 - ajdoc modifications and tests --- tests/bugs153/GenericMethod/C.java | 14 +++++ tests/bugs153/StaticImport/C.java | 8 +++ tests/bugs153/StaticImport/StaticImport.java | 5 ++ tests/bugs153/pr148908/BadInterface.java | 13 ++++ .../systemtest/ajc153/Ajc153Tests.java | 60 +++++++++++++++++-- .../org/aspectj/systemtest/ajc153/ajc153.xml | 9 ++- 6 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 tests/bugs153/GenericMethod/C.java create mode 100644 tests/bugs153/StaticImport/C.java create mode 100644 tests/bugs153/StaticImport/StaticImport.java diff --git a/tests/bugs153/GenericMethod/C.java b/tests/bugs153/GenericMethod/C.java new file mode 100644 index 000000000..8621aca45 --- /dev/null +++ b/tests/bugs153/GenericMethod/C.java @@ -0,0 +1,14 @@ +import java.util.List; + +public class C { + public T returnT(T a){ + return a; + } + + public Q returnQ(Q a){ + return a; + } + + public void doubleGeneric(Q a, T b){ + } +} diff --git a/tests/bugs153/StaticImport/C.java b/tests/bugs153/StaticImport/C.java new file mode 100644 index 000000000..fd86d0162 --- /dev/null +++ b/tests/bugs153/StaticImport/C.java @@ -0,0 +1,8 @@ +package ABC; + +import static ABC.StaticImport.Alphabet.A; +import ABC.StaticImport.*; + +public class C { + protected Alphabet alphabet = A; +} diff --git a/tests/bugs153/StaticImport/StaticImport.java b/tests/bugs153/StaticImport/StaticImport.java new file mode 100644 index 000000000..7148b8471 --- /dev/null +++ b/tests/bugs153/StaticImport/StaticImport.java @@ -0,0 +1,5 @@ +package ABC; + +public class StaticImport { + public enum Alphabet {A, B, C, D;} +} diff --git a/tests/bugs153/pr148908/BadInterface.java b/tests/bugs153/pr148908/BadInterface.java index 700f652be..ea95de3f3 100644 --- a/tests/bugs153/pr148908/BadInterface.java +++ b/tests/bugs153/pr148908/BadInterface.java @@ -1,4 +1,6 @@ import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; public interface BadInterface { @@ -8,4 +10,15 @@ public interface BadInterface { return 0; } }; + + public List aList = new LinkedList() {{ add("Busted"); }}; + + public List bList = new LinkedList() { + public int size() { + for(int i = 0; i < 100; i++) { + return 0; + } + return modCount; + } + }; } diff --git a/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java b/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java index afe524aba..022bf79de 100644 --- a/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java @@ -11,6 +11,8 @@ package org.aspectj.systemtest.ajc153; import java.io.File; +import java.util.Iterator; +import java.util.List; import junit.framework.Test; @@ -147,11 +149,21 @@ public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase { IHierarchy top = AsmManager.getDefault().getHierarchy(); IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD,"MY_COMPARATOR"); - String expected = "static final Comparator MY_COMPARATOR = new Comparator() {\n" + - " public int compare(Object o1, Object o2) {\n" + - " return 0;\n" + - " }\n" + - "};"; + String expected = "static final Comparator MY_COMPARATOR;\n"; + assertEquals("expected source signature to be " + expected + + " but found " + ipe.getSourceSignature(), + expected, ipe.getSourceSignature()); + + ipe = top.findElementForLabel(top.getRoot(), + IProgramElement.Kind.FIELD,"aList"); + expected = "public List aList;\n"; + assertEquals("expected source signature to be " + expected + + " but found " + ipe.getSourceSignature(), + expected, ipe.getSourceSignature()); + + ipe = top.findElementForLabel(top.getRoot(), + IProgramElement.Kind.FIELD,"bList"); + expected = "public List bList;\n"; assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe.getSourceSignature()); @@ -214,6 +226,44 @@ public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase { public void testSourceLevelJava6ThrowsUsageError_pr164384() {runTest("source level java 6 throws usage error");} public void testTargetLevelJava6ThrowsUsageError_pr164384() {runTest("target level java 6 throws usage error");} + public void testStaticImport() { + runTest("ensure static import reference have static modifier set"); + IHierarchy top = AsmManager.getDefault().getHierarchy(); + + IProgramElement ipe = top.findElementForLabel(top.getRoot(), + IProgramElement.Kind.IMPORT_REFERENCE,"ABC.StaticImport.Alphabet.A"); + String expected = "import static ABC.StaticImport.Alphabet.A;"; + assertEquals("expected source signature to be " + expected + + " but found " + ipe.getSourceSignature(), + expected, ipe.getSourceSignature()); + } + + public void testGetSourceSignature_GenericMethods(){ + runTest("ensure getSourceSignature correct with generic method"); + IHierarchy top = AsmManager.getDefault().getHierarchy(); + + IProgramElement ipe = top.findElementForLabel(top.getRoot(), + IProgramElement.Kind.METHOD,"returnT(T)"); + String expected = "public T returnT(T a)"; + assertEquals("expected source signature to be " + expected + + " but found " + ipe.getSourceSignature(), + expected, ipe.getSourceSignature()); + + ipe = top.findElementForLabel(top.getRoot(), + IProgramElement.Kind.METHOD,"returnQ(Q)"); + expected = "public Q returnQ(Q a)"; + assertEquals("expected source signature to be " + expected + + " but found " + ipe.getSourceSignature(), + expected, ipe.getSourceSignature()); + + ipe = top.findElementForLabel(top.getRoot(), + IProgramElement.Kind.METHOD,"doubleGeneric(Q,T)"); + expected = "public void doubleGeneric(Q a, T b)"; + assertEquals("expected source signature to be " + expected + + " but found " + ipe.getSourceSignature(), + expected, ipe.getSourceSignature()); + } + ///////////////////////////////////////// public static Test suite() { diff --git a/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml b/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml index 28bda3226..6f50adc14 100644 --- a/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml +++ b/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml @@ -74,7 +74,7 @@ - + @@ -842,4 +842,11 @@ + + + + + + + \ No newline at end of file -- 2.39.5