| java.lang.Object | |
| ↳ | com.atlassian.plugin.osgi.util.Clazz |
Copied from the bndlib version 0.255, adding the capture of referred classes
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Clazz.Assoc | |||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
.class construct for different compilers
sun 1.1 Detect static variable class$com$acme$MyClass 1.2 " 1.3 " 1.4 "
1.5 ldc_w (class) 1.6 "
eclipse 1.1 class$0, ldc (string), invokestatic Class.forName 1.2 " 1.3 "
1.5 ldc (class) 1.6 "
1.5 and later is not an issue, sun pre 1.5 is easy to detect the static
variable that decodes the class name.
| |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
We must find Class.forName references ...
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
.class construct for different compilers sun 1.1 Detect static variable class$com$acme$MyClass 1.2 " 1.3 " 1.4 " 1.5 ldc_w (class) 1.6 " eclipse 1.1 class$0, ldc (string), invokestatic Class.forName 1.2 " 1.3 " 1.5 ldc (class) 1.6 " 1.5 and later is not an issue, sun pre 1.5 is easy to detect the static variable that decodes the class name. For eclipse, the class$0 gives away we have a reference encoded in a string. compilerversions/compilerversions.jar contains test versions of all versions/compilers.
We must find Class.forName references ...