]> source.dussan.org Git - aspectj.git/commitdiff
Fix for Bug 55341
authoraclement <aclement>
Fri, 2 Apr 2004 12:45:13 +0000 (12:45 +0000)
committeraclement <aclement>
Fri, 2 Apr 2004 12:45:13 +0000 (12:45 +0000)
   error Type mismatch: cannot convert from java.lang.String to java.lang.String

19 files changed:
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/InterTypeMemberFinder.java
org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/internal/compiler/batch/BcweaverJarMaker.java
tests/ajcTests.xml
tests/bugs/StringToString/HW.java [new file with mode: 0644]
tests/bugs/StringToString/X.java [new file with mode: 0644]
tests/bugs/StringToString/helloworld.jar [new file with mode: 0644]
weaver/testdata/dummyAspect.jar
weaver/testdata/ltw-acaspects.jar
weaver/testdata/ltw-aspects.jar
weaver/testdata/ltw-classes.jar
weaver/testdata/ltw-itdaspects.jar
weaver/testdata/ltw-peraspects.jar
weaver/testdata/ltw-woven.jar
weaver/testdata/megatrace.jar
weaver/testdata/megatrace0easy.jar
weaver/testdata/megatrace0hard.jar
weaver/testdata/megatraceNoweave.jar
weaver/testdata/tracing.jar
weaver/testsrc/org/aspectj/weaver/WeavingURLClassLoaderTest.java

index d6c4d7b64b2c919423c72a1aacf78e7a39982095..4e0f0f7e36107b97cf86220dbc5d215a90289fd1 100644 (file)
@@ -41,7 +41,7 @@ public class InterTypeMemberFinder implements IMemberFinder {
                InvocationSite site,
                Scope scope)
        {
-               FieldBinding retField = sourceTypeBinding.getFieldBase(fieldName, false);  // XXX may need to get the correct value for second parameter in the future
+               FieldBinding retField = sourceTypeBinding.getFieldBase(fieldName, true);  // XXX may need to get the correct value for second parameter in the future (see #55341)
                if (interTypeFields.isEmpty()) return retField;
                int fieldLength = fieldName.length;
                
index b6dfb51847546fa292dd57f1ecd4d5610878f0c1..98c9ea984d7083dc258e09f00a07e6d6b2414f32 100644 (file)
@@ -179,6 +179,16 @@ public class BcweaverJarMaker {
                args.add("../tests/bugs/serialVersionUID/Util.java");
                
                CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
+               
+               // For PR55341
+               args = new ArrayList();
+               args.add("-classpath"); 
+               args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar"  +
+                       File.pathSeparator + System.getProperty("aspectjrt.path"));
+               args.add("-outjar");
+               args.add("../tests/bugs/StringToString/helloworld.jar");                
+               args.add("../tests/bugs/StringToString/HW.java");               
+               CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
        }       
        
        public static void makeURLWeavingClassLoaderJars() throws IOException {
@@ -245,8 +255,7 @@ public class BcweaverJarMaker {
                args.add("../weaver/testdata/ltw-itdaspects.jar");
                args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWInterfaceITD.aj");
                args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWFieldITD.aj");
-               /* Uncomment when bug #55341 fixed */
-//             args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWMethodITD.aj");
+               args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWMethodITD.aj");
                CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
 
                /*
index ce4620ece5ac93f1ba815059defd9ca149753d3b..3a86750e5e6907f3b443309e0b4648fddcc1ffa3 100644 (file)
         <compile files="Priority.aj" />
     </ajc-test>
        
+    <ajc-test dir="bugs/StringToString" pr="55341"
+           title="error Type mismatch: cannot convert from java.lang.String to java.lang.String"
+               comment="make helloworld.jar with 'ajc -outjar helloworld.jar HW.java' or run BcweaverJarMaker"
+               keywords="">
+        <compile files="X.java" classpath="helloworld.jar">
+               <message kind="warning" line="3"/>
+               <message kind="warning" line="7"/>
+        </compile>
+    </ajc-test>
+       
+       
 </suite>
diff --git a/tests/bugs/StringToString/HW.java b/tests/bugs/StringToString/HW.java
new file mode 100644 (file)
index 0000000..66eeca2
--- /dev/null
@@ -0,0 +1,28 @@
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Properties;
+
+public class HW extends ArrayList {
+
+  String message = "Hello World!";
+
+       private void check (String args) {
+       }
+
+       public void println () {
+               System.out.println(message);
+       }
+
+       public static void main(String[] args) {
+               HW hw = new HW();
+               hw.println();           
+               for (int i = 0; i < args.length; i++) {
+                       String jp = args[i];
+                       if (!hw.contains(jp)) {
+                               throw new RuntimeException(jp + " missing"); 
+                       }
+               }
+       }
+
+}
diff --git a/tests/bugs/StringToString/X.java b/tests/bugs/StringToString/X.java
new file mode 100644 (file)
index 0000000..9ef8197
--- /dev/null
@@ -0,0 +1,10 @@
+// PR55341
+aspect F { 
+  private int HW.intField = 999;
+}
+
+aspect M {
+  public String HW.getMessage () {
+    return message;
+  }
+}
diff --git a/tests/bugs/StringToString/helloworld.jar b/tests/bugs/StringToString/helloworld.jar
new file mode 100644 (file)
index 0000000..185b8eb
Binary files /dev/null and b/tests/bugs/StringToString/helloworld.jar differ
index 6bc31ed856134b2dcea2c9db33bfa602fb0467c4..baf5a2a253985e2fb6f3a1769f44a41584c29359 100644 (file)
Binary files a/weaver/testdata/dummyAspect.jar and b/weaver/testdata/dummyAspect.jar differ
index c4932082150baa821444c15b33b28a99f6a7f4a4..3fe72d9d7bcb1d7dcae8662821a6d6aa3229dc33 100644 (file)
Binary files a/weaver/testdata/ltw-acaspects.jar and b/weaver/testdata/ltw-acaspects.jar differ
index 428c2b156b194396366ddf7939d157a7606ad1e9..2f232c71ff3eb86f552e260330fb8e9747527e12 100644 (file)
Binary files a/weaver/testdata/ltw-aspects.jar and b/weaver/testdata/ltw-aspects.jar differ
index f74d613b7d7d43dd06433b265f48d4c3d7132a4b..64aa2aee4f4c0a83ea06599b888037840392b9ef 100644 (file)
Binary files a/weaver/testdata/ltw-classes.jar and b/weaver/testdata/ltw-classes.jar differ
index 0870a4a73c00f18c174dcb9677f7ad996b5f133f..868c3b91739fdab89bf61002a8c451cb595f577b 100644 (file)
Binary files a/weaver/testdata/ltw-itdaspects.jar and b/weaver/testdata/ltw-itdaspects.jar differ
index 071d2bbfa08d9715c35fce32e29c56387953fb6e..0a903503ea2fcfc9834ff635b71d19e0f03f98f6 100644 (file)
Binary files a/weaver/testdata/ltw-peraspects.jar and b/weaver/testdata/ltw-peraspects.jar differ
index b0b6368f4cd5237da9d68b8940913b51c660722a..c83beb5576c18f37299b746a9a924fa4c7a02edf 100644 (file)
Binary files a/weaver/testdata/ltw-woven.jar and b/weaver/testdata/ltw-woven.jar differ
index aff5ffe9642c30b42245d85aa920a907846eb584..7b82aa2154a585a951e8d18ff98dd8bf4d653160 100644 (file)
Binary files a/weaver/testdata/megatrace.jar and b/weaver/testdata/megatrace.jar differ
index 97c8081aa81de8bd1bd36f6024397e1e63500976..24ec93afb74317983abf4e571b27d2a2451645a0 100644 (file)
Binary files a/weaver/testdata/megatrace0easy.jar and b/weaver/testdata/megatrace0easy.jar differ
index 583926b3f14234435c264809ee1b73e88768aa37..3fb566030c6a2c6893ed1031bd6b83d0c343aa03 100644 (file)
Binary files a/weaver/testdata/megatrace0hard.jar and b/weaver/testdata/megatrace0hard.jar differ
index 8d454e6a2d0f4e9519e236e1bd76388436cd3e4e..577944439afe03e4bb8a157e02acf0d7b72ddfb1 100644 (file)
Binary files a/weaver/testdata/megatraceNoweave.jar and b/weaver/testdata/megatraceNoweave.jar differ
index 2c8cafbcc34d9bb3317b6787755b97282dbebfb5..3a6749657b174a01c43049a48098c0af9e163b12 100644 (file)
Binary files a/weaver/testdata/tracing.jar and b/weaver/testdata/tracing.jar differ
index 41f9b56ab9df303a7563beb65feb99d963941d71..d3f940e4d93406cf522b7837df5c9e9cf1b0936a 100644 (file)
@@ -140,9 +140,7 @@ public class WeavingURLClassLoaderTest extends TestCase {
 
                try {
                        Class clazz = loader.loadClass("LTWHelloWorld");
-                       /* Uncomment when bug #55341 fixed */
-//                     invokeMain(clazz,new String[] { "LTWInterfaceITD", "LTWFieldITD", "LTWMethodITD" }); 
-                       invokeMain(clazz,new String[] { "LTWInterfaceITD", "LTWFieldITD" }); 
+                       invokeMain(clazz,new String[] { "LTWInterfaceITD", "LTWFieldITD", "LTWMethodITD" }); 
                }
                catch (Exception ex) {
                        fail(ex.toString());
@@ -177,9 +175,7 @@ public class WeavingURLClassLoaderTest extends TestCase {
 
                try {
                        Class clazz = loader.loadClass("LTWHelloWorld");
-                       /* Uncomment when bug #55341 fixed */
-//                     invokeMain(clazz,new String[] { "LTWAspect", "LTWAroundClosure", "LTWPerthis", "LTWInterfaceITD", "LTWFieldITD", "LTWMethodITD", "LTWPerthis"}); 
-                       invokeMain(clazz,new String[] { "LTWAspect", "LTWAroundClosure", "LTWPerthis", "LTWInterfaceITD", "LTWFieldITD", "LTWPerthis"}); 
+                       invokeMain(clazz,new String[] { "LTWAspect", "LTWAroundClosure", "LTWPerthis", "LTWInterfaceITD", "LTWFieldITD", "LTWMethodITD", "LTWPerthis"}); 
                }
                catch (Exception ex) {
                        fail(ex.toString());