Bug 66113 - cant resolve this type for Object[]?!
Summary: cant resolve this type for Object[]?!
Status: VERIFIED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Andrew Clement CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-08 09:33 EDT by attila lendvai CLA
Modified: 2004-09-02 09:23 EDT (History)
1 user (show)

See Also:


Attachments
the file in question (4.75 KB, text/plain)
2004-06-08 09:35 EDT, attila lendvai CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description attila lendvai CLA 2004-06-08 09:33:05 EDT
[iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:118 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:118 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:118 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\MutableContentMixin.java:34 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:57 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ScreenTitleMixin.java:65 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ScreenTitleMixin.java:65 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:79 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:80 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:118 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:121 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:124 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\MutableContentMixin.java:19 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\pageab
letable\AbstractPageableTableModel.java:208 warning can not resolve this member: 
java.lang.Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:121 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:121 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ComponentMixin.java:121 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\MutableContentMixin.java:46 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\Grid.java:143 warning can not resolve this member: java.lang.Object [Ljava.
lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\ScreenWithButtons.java:227 warning can not resolve this member: java.lang.
Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\Grid.java:148 warning can not resolve this member: java.lang.Object [Ljava.
lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\HidingMessagesMixin.java error can't find type [Ljava.lang.Object;
     [iajc] (no source information available)
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\HidingMessagesMixin.java:163 warning can not resolve this member: java.
lang.Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc] (componentInit() || call(void Component.removeAll(..)))
     [iajc]                          ^^^^^^^^^^^^^^^^^^^^^^^^^
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\HidingMessagesMixin.java:163 warning can not resolve this member: java.
lang.Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc] (componentInit() || call(void Component.removeAll(..)))
     [iajc]                          ^^^^^^^^^^^^^^^^^^^^^^^^^
     [iajc]
     [iajc] D:
\work\granite\workspace\web-framework\src\java\com\netvisor\web_framework\compon
ents\HidingMessagesMixin.java:163 warning can not resolve this member: java.
lang.Object [Ljava.lang.Object;.clone() [Xlint:unresolvableMember]
     [iajc] (componentInit() || call(void Component.removeAll(..)))
     [iajc]                          ^^^^^^^^^^^^^^^^^^^^^^^^^
     [iajc]
Comment 1 attila lendvai CLA 2004-06-08 09:35:24 EDT
Created attachment 11709 [details]
the file in question

i've tried to reproduce this with no luck. seems to be connected to the actual
setup of aspects inheriting, etc.

the line in question is: params = (Object[])params.clone()
Comment 2 Adrian Colyer CLA 2004-08-27 10:21:07 EDT
Through working on a couple of other bugs, I think we've finally come to understand what you are 
seeing here. Calling clone() on an array type is treated very specially by the JVM, and was not handled 
correctly in our type resolution.  I suspect the fix for bug 72150 also fixed this problem. I'll leave Andy 
to verify that...
Comment 3 Andrew Clement CLA 2004-09-01 05:27:06 EDT
As Adrian says - I believe this is fixed.  Here is an example program that can
recreate it.

Compile this:

public class A {

  public void A() {
    Object[] x = new String[2];
    Object[] p = (Object[])x.clone();
  }
}
   
Using something like the 1.5 java compiler (which puts the clone() calls against
the correct type 'Object[]' in the bytecode rather than against the superclass
'Object').  (I can imagine other compiler variants also do this)

"javac -d bin A.java"

Now, create this aspect:

aspect Asp  {
  before(): call(* *(..)) {
  }
}


And compile against the binary for A.class:

ajc -inpath bin Asp.java

And you will get:

C:\ajbugs\66113\Asp.java:2 warning can not resolve this member: java.lang.Object
[Ljava.lang.Object;.clone() [Xlint:unresolvableMember]

C:\ajbugs\66113\bin\A.class error can't find type [Ljava.lang.Object;
(no source information available)

1 error, 1 warning

With the latest development version of AspectJ (available from the website),
this compiles OK and you get no errors.
Comment 4 attila lendvai CLA 2004-09-02 09:23:57 EDT
positive, bug fixed, thanks! :)