Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Critical
-
Resolution: Unresolved
-
Affects Version/s: 1.0
-
Fix Version/s: None
-
Component/s: compiler
-
Labels:None
-
Number of attachments :
Description
If there is a method like:
/**
- @MyAnnotation
*/
public SomeType myMethod();
And SomeType is not in the default package and also not in the classpath, AnnotationC reports @MyAnnotation will be inserted in the class, but actually nothing happens instead.
The problem happens in AnnotationMungingVisitor.visitMethod(..), since the String obtained from getMethodDesc(annotationInfo.method) misses the qualified class name, while the desc variable has the correct value. This cause is probably related to QDox, but I can't state that yet.
Actually, if the class cannot be found, a VM signature for the method cannot be built. Therefore, the compiler should emit an error saying the VM signature for the method cannot be computed, listing the missing type.