com.sun.tools.classfile
Class ClassTranslator
java.lang.Object
com.sun.tools.classfile.ClassTranslator
- All Implemented Interfaces:
- ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
public class ClassTranslator
- extends java.lang.Object
- implements ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
Rewrites a class file using a map of translations.
This is NOT part of any API supported by Sun Microsystems. If
you write code that depends on this, you do so at your own risk.
This code and its internal interfaces are subject to change or
deletion without notice.
|
Method Summary |
private static
|
equal(T[] a1,
T[] a2)
|
(package private) Attribute |
translate(Attribute attribute,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ClassFile |
translate(ClassFile cf,
java.util.Map<java.lang.Object,java.lang.Object> translations)
Create a new ClassFile from cf, such that for all entries
k -\> v in translations,
each occurrence of k in cf will be replaced by v. |
(package private) ConstantPool.CPInfo |
translate(ConstantPool.CPInfo cpInfo,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
(package private) ConstantPool |
translate(ConstantPool cp,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
(package private) Field[] |
translate(Field[] fields,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
(package private) Field |
translate(Field field,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
(package private) Method |
translate(Method method,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
(package private) Attributes |
translateAttributes(Attributes attributes,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
(package private) Method[] |
translateMethods(Method[] methods,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitClass(ConstantPool.CONSTANT_Class_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitDouble(ConstantPool.CONSTANT_Double_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitFieldref(ConstantPool.CONSTANT_Fieldref_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitFloat(ConstantPool.CONSTANT_Float_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitInteger(ConstantPool.CONSTANT_Integer_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitInterfaceMethodref(ConstantPool.CONSTANT_InterfaceMethodref_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitLong(ConstantPool.CONSTANT_Long_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitMethodref(ConstantPool.CONSTANT_Methodref_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitNameAndType(ConstantPool.CONSTANT_NameAndType_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitString(ConstantPool.CONSTANT_String_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
ConstantPool.CPInfo |
visitUtf8(ConstantPool.CONSTANT_Utf8_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassTranslator
public ClassTranslator()
translate
public ClassFile translate(ClassFile cf,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Create a new ClassFile from
cf, such that for all entries
k -\> v in translations,
each occurrence of k in cf will be replaced by v.
in
- Parameters:
cf - the class file to be processedtranslations - the set of translations to be applied
- Returns:
- a copy of
with the values in translations substituted
translate
ConstantPool translate(ConstantPool cp,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translate
ConstantPool.CPInfo translate(ConstantPool.CPInfo cpInfo,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translate
Field[] translate(Field[] fields,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translate
Field translate(Field field,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translateMethods
Method[] translateMethods(Method[] methods,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translate
Method translate(Method method,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translateAttributes
Attributes translateAttributes(Attributes attributes,
ConstantPool constant_pool,
java.util.Map<java.lang.Object,java.lang.Object> translations)
translate
Attribute translate(Attribute attribute,
java.util.Map<java.lang.Object,java.lang.Object> translations)
equal
private static <T> boolean equal(T[] a1,
T[] a2)
visitClass
public ConstantPool.CPInfo visitClass(ConstantPool.CONSTANT_Class_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitClass in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitDouble
public ConstantPool.CPInfo visitDouble(ConstantPool.CONSTANT_Double_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitDouble in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitFieldref
public ConstantPool.CPInfo visitFieldref(ConstantPool.CONSTANT_Fieldref_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitFieldref in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitFloat
public ConstantPool.CPInfo visitFloat(ConstantPool.CONSTANT_Float_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitFloat in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitInteger
public ConstantPool.CPInfo visitInteger(ConstantPool.CONSTANT_Integer_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitInteger in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitInterfaceMethodref
public ConstantPool.CPInfo visitInterfaceMethodref(ConstantPool.CONSTANT_InterfaceMethodref_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitInterfaceMethodref in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitLong
public ConstantPool.CPInfo visitLong(ConstantPool.CONSTANT_Long_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitLong in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitNameAndType
public ConstantPool.CPInfo visitNameAndType(ConstantPool.CONSTANT_NameAndType_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitNameAndType in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitMethodref
public ConstantPool.CPInfo visitMethodref(ConstantPool.CONSTANT_Methodref_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitMethodref in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitString
public ConstantPool.CPInfo visitString(ConstantPool.CONSTANT_String_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitString in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>
visitUtf8
public ConstantPool.CPInfo visitUtf8(ConstantPool.CONSTANT_Utf8_info info,
java.util.Map<java.lang.Object,java.lang.Object> translations)
- Specified by:
visitUtf8 in interface ConstantPool.Visitor<ConstantPool.CPInfo,java.util.Map<java.lang.Object,java.lang.Object>>