Thanks for the info. I’ve checked in
a fix for the problem, as well as some tests of the enum and array cases (see
ColorAnnotationProcessor).
Thanks,
Jess
From: jdt-apt-dev-bounces@xxxxxxxxxxx
[mailto:jdt-apt-dev-bounces@xxxxxxxxxxx] On
Behalf Of Juraj Burian
Sent: Thursday, September 08, 2005
1:05 AM
To: Eclipse
JDT Apt developers list.
Subject: Re: [jdt-apt-dev] bug in
Annotation proxy object
Hi,
My patch is not correct, it is only quick solution ...., but you can see the
problem.
You are right, one part of this problem probably lays in classloader.
We use few jar files, and only subset of them contains processors, other
contain annotations or helper classes.
Yes eclipse plugin does this job.
The problem has two part:
1) maybe classloader problem ....
2) when annotations contains array of annotations your old construct is not
right.
I think that you must create proxies for all elements in array:
// ---- JUBU
if ( returnObj instanceof AnnotationMirrorImpl ) {
Array.set(array, i, Proxy.newProxyInstance(
componentType.getClassLoader(),
new
Class[] { componentType },
new
AnnotationInvocationHandler( (AnnotationMirrorImpl) returnObj, componentType))
);
} else {
Array.set(array, i, returnObj);
}
// --- END
else part may handle ordinary array of class instancies (maybe).
I am not sure what happens if annotation tree like this is used:
public @interface TestAnno1 {
TestAnno2[] value();
}
public @interface TestAnno2 {
TestAnno3[] value();
}
public @interface TestAnno3 {
TestAnno4[] value();
}
....
maybe that there some recursion processing is necessary.
best regards
J.Burian
p.s. I can create example, but I think that problem is clear now.
Jess Garms wrote:
Juraj -
Thanks for the patch! We'll take a look at the underlying problem and
submit your patch if it takes care of it.
I'd like to understand why the error is occurring -- do you have a repro
you could attach to the bug? Also, are you using an external jar or an
eclipse plugin to do the annotation processing? It seems like we have a
classloader mismatch, but I'm not certain...
With regards to your question about the CVS repository, Eclipse CVS
committers have to be voted on before being granted access. The best way
to get commit rights is to submit a number of patches to fix bugs or add
features. You're on your way (thanks again for the patch), but it does
take a number of patches before a vote takes place.
Thanks,
Jess
-----Original Message-----
From: jdt-apt-dev-bounces@xxxxxxxxxxx
[mailto:jdt-apt-dev-bounces@xxxxxxxxxxx] On Behalf Of Juraj Burian
Sent: Wednesday, September 07, 2005 4:24 AM
To: Eclipse JDT Apt developers list.
Subject: Re: [jdt-apt-dev] bug in Annotation proxy object
Done,
see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=108917
I have a fix, but I think that problem is deeper.
See attached file .... I want to work on it, but later.
Can I get access to the CVS repository with commit rights?
Juraj
Tim Hanson wrote:
Please open a bugzilla entry for this.
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=JDT
Tim
-----Original Message-----
From: jdt-apt-dev-bounces@xxxxxxxxxxx
[mailto:jdt-apt-dev-bounces@xxxxxxxxxxx]On Behalf Of Juraj Burian
Sent: Tuesday, September 06, 2005 7:42 AM
To: jdt-apt-dev@xxxxxxxxxxx
Subject: [jdt-apt-dev] bug in Annotation proxy object
Hello friends,
I want to consult a bug in apt kernel implementation.
Description:
During visiting process we are getting instance of annotations via
method: MethodDeclaration.getAnnotation.
Gained instance of annotation is represented by a proxy object.
This proxy object works almost fine, but when "property" with enum
result type is called (I found only this case) ,
ClassNotFound exception
is throwed.
May be that there is similar bug with classes (I mean
property returning
a class).
Please let me known if you have a problem to simulate this bug or any
progress in solution of this bug will happen.
best regards
J.Burian
_______________________________________________
jdt-apt-dev mailing list
jdt-apt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jdt-apt-dev
_______________________________________________
jdt-apt-dev mailing list
jdt-apt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jdt-apt-dev
_______________________________________________
jdt-apt-dev mailing list
jdt-apt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jdt-apt-dev