Top Description Fields Constructors Methods
javassist.convert

public final Class TransformAccessArrayField

extends Transformer
Class Inheritance
Imports
javassist.CannotCompileException, .CodeConverter.ArrayAccessReplacementMethodNames, .CtClass, .NotFoundException, javassist.bytecode.BadBytecode, .CodeIterator, .ConstPool, .Descriptor, .MethodInfo, javassist.bytecode.analysis.Analyzer, .Frame

A transformer which replaces array access with static method invocations.
Authors
Kabir Khan, Jason T. Greene
Version
$Revision: 1.8 $

Field Summary

Modifier and TypeField and Description
private Frame[]
private final String
private final CodeConverter.ArrayAccessReplacementMethodNames
private int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
private Frame
getFrame(int pos)

private String
private String
getMethodName(int opcode)

private String
private String
getTopType(int pos)

private void
public void
private int
replace(ConstPool cp, CodeIterator iterator, int pos, int opcode, String signature)

public int
transform(CtClass tclazz, int pos, CodeIterator iterator, ConstPool cp)

Implements abstract javassist.convert.Transformer.transform.

private int
updatePos(int pos, int increment)

Inherited from javassist.convert.Transformer:
extraLocalsextraStackgetNextinitialize

Field Detail

framesback to summary
private Frame[] frames
methodClassnameback to summary
private final String methodClassname
namesback to summary
private final CodeConverter.ArrayAccessReplacementMethodNames names
offsetback to summary
private int offset

Constructor Detail

TransformAccessArrayFieldback to summary
public TransformAccessArrayField(Transformer next, String methodClassname, CodeConverter.ArrayAccessReplacementMethodNames names) throws NotFoundException

Method Detail

cleanback to summary
public void clean()

Overrides javassist.convert.Transformer.clean.

Annotations
@Override
getFrameback to summary
private Frame getFrame(int pos) throws BadBytecode
getLoadReplacementSignatureback to summary
private String getLoadReplacementSignature(int opcode) throws BadBytecode
getMethodNameback to summary
private String getMethodName(int opcode)
getStoreReplacementSignatureback to summary
private String getStoreReplacementSignature(int opcode) throws BadBytecode
getTopTypeback to summary
private String getTopType(int pos) throws BadBytecode
initFramesback to summary
private void initFrames(CtClass clazz, MethodInfo minfo) throws BadBytecode
initializeback to summary
public void initialize(ConstPool cp, CtClass clazz, MethodInfo minfo) throws CannotCompileException

Overrides javassist.convert.Transformer.initialize.

Annotations
@Override
replaceback to summary
private int replace(ConstPool cp, CodeIterator iterator, int pos, int opcode, String signature) throws BadBytecode
transformback to summary
public int transform(CtClass tclazz, int pos, CodeIterator iterator, ConstPool cp) throws BadBytecode

Implements abstract javassist.convert.Transformer.transform.

Annotations
@Override
updatePosback to summary
private int updatePos(int pos, int increment)