-
Enhancement
-
Resolution: Won't Do
-
Critical
-
None
-
1.1.11.Final, 2.0.0.CR4
-
None
Weld proxy classes are not marked as synthetic, so dynamically created classes do not return true for isSynthetic(). Tested with 1.1.11.Final and 2.0.0.CR4, from what I could see it applies to both the 2.0.x and 1.1.x branches.
I just checked with 2.0.1-SNAPSHOT, and it seems the underlying org.jboss.classfilewriter.ClassFile does not provide means to mark a class as synthetic.
For further details see
http://docs.oracle.com/javase/specs/jvms/se5.0/html/ClassFile.doc.html
4.7.6 The Synthetic Attribute
The Synthetic attribute6 is a fixed-length attribute in the attributes table of ClassFile (§4.1), field_info (§4.5), and method_info (§4.6) structures. A class member that does not appear in the source code must be marked using a Synthetic attribute.