org.jboss.ant.tasks.retro
Class Weaver
java.lang.Object
org.jboss.ant.tasks.retro.Weaver
public class Weaver
- extends java.lang.Object
takes jar or class files and retro weaves the bytecode
Method Summary |
void |
compileFile(org.jboss.ant.tasks.retro.Weaver.CompilerClassInfo info,
java.util.Map<java.lang.String,java.lang.String> classRenames,
CodeConverter[] converters,
ExprEditor[] editors)
|
boolean |
doWeave(java.lang.ClassLoader cl,
org.jboss.ant.tasks.retro.Weaver.CompilerClassInfo info,
java.util.Map classRenames,
CodeConverter[] converters,
ExprEditor[] editors)
|
boolean |
isJarFile(java.io.File src)
|
static void |
main(java.lang.String[] args)
|
static CtClass |
rewriteEnum(java.lang.ClassLoader cl,
org.jboss.ant.tasks.retro.Weaver.CompilerClassInfo info)
Transform a jdk5 java.lang.Enum subtype into a jdk14 compatible org.jboss.lang.Enum
subtype. |
static void |
rewriteLDC(ConstPool constPool,
MethodInfo method)
This rewrites the load constant ClassInfo
to be Class.forName() |
void |
usage()
|
void |
weave(java.lang.String[] args)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
verbose
public boolean verbose
suppress
public boolean suppress
loader
public static java.net.URLClassLoader loader
Weaver
public Weaver()
isJarFile
public boolean isJarFile(java.io.File src)
main
public static void main(java.lang.String[] args)
throws java.lang.Exception
- Throws:
java.lang.Exception
usage
public void usage()
weave
public void weave(java.lang.String[] args)
throws java.lang.Exception
- Throws:
java.lang.Exception
compileFile
public void compileFile(org.jboss.ant.tasks.retro.Weaver.CompilerClassInfo info,
java.util.Map<java.lang.String,java.lang.String> classRenames,
CodeConverter[] converters,
ExprEditor[] editors)
throws java.lang.Exception
- Throws:
java.lang.Exception
doWeave
public boolean doWeave(java.lang.ClassLoader cl,
org.jboss.ant.tasks.retro.Weaver.CompilerClassInfo info,
java.util.Map classRenames,
CodeConverter[] converters,
ExprEditor[] editors)
throws java.lang.Exception
- Throws:
java.lang.Exception
rewriteLDC
public static void rewriteLDC(ConstPool constPool,
MethodInfo method)
throws java.lang.Exception
- This rewrites the load constant ClassInfo
to be Class.forName()
- Parameters:
constPool
- the constant poolmethod
- the method
- Throws:
java.lang.Exception
- for any error
rewriteEnum
public static CtClass rewriteEnum(java.lang.ClassLoader cl,
org.jboss.ant.tasks.retro.Weaver.CompilerClassInfo info)
throws java.lang.Exception
- Transform a jdk5 java.lang.Enum subtype into a jdk14 compatible org.jboss.lang.Enum
subtype. This requires jdk5 APIs that cannot be weaved.
- Parameters:
cl
- the classloaderinfo
- the compiler info
- Throws:
java.lang.Exception
- for any error