public class GeneratedAdvisorFieldAccessTransformer extends FieldAccessTransformer
Modifier and Type | Class and Description |
---|---|
protected class |
GeneratedAdvisorFieldAccessTransformer.GeneratedAdvisorFieldAccessExprEditor |
FieldAccessTransformer.FieldAccessExprEditor
GET_INDEX, SET_INDEX, transformations, wrapper
Constructor and Description |
---|
GeneratedAdvisorFieldAccessTransformer(Instrumentor instrumentor) |
Modifier and Type | Method and Description |
---|---|
protected String |
addFieldReadInfoFieldToGeneratedAdvisor(javassist.CtField field,
int index) |
protected String |
addFieldWriteInfoFieldToGeneratedAdvisor(javassist.CtField field,
int index) |
protected boolean |
addInfoAsWeakReference() |
static String |
advisorFieldRead(javassist.CtClass genadvisor,
String fieldName) |
static String |
advisorFieldWrite(javassist.CtClass genadvisor,
String fieldName) |
protected void |
buildWrapperPlaceHolders(javassist.CtClass clazz,
javassist.CtField field,
boolean doGet,
boolean doSet,
int mod)
Generate the wrapper place holders.
|
protected void |
doBuildFieldWrappers(javassist.CtClass clazz,
javassist.CtField field,
int index,
boolean shouldReplaceArrayAccess,
JoinpointClassification classificationGet,
JoinpointClassification classificationSet) |
protected String |
getWrapperBody(javassist.CtClass clazz,
javassist.CtField field,
boolean get,
int fieldIndex)
Returns the wrapper body of the
field joinpoint. |
protected boolean |
markInfoAsSynthetic() |
protected void |
replaceFieldAccessInternally(javassist.CtClass clazz,
javassist.CtField field,
boolean doGet,
boolean doSet,
int index)
This function replaces internal field accesses with bytecode hooks into framework
todo this must do it for inherited protected/public fields as well
|
addFieldReadInfoFieldWithAccessors, addFieldReadInfoFieldWithAccessors, addFieldWriteInfoField, addFieldWriteInfoField, buildFieldWrappers, buildReadWrapperPlaceHolder, buildWriteWrapperPlaceHolder, codeConverted, fieldInfoFromWeakReference, fieldOffset, fieldRead, fieldWrite, getArrayWriteRegistration, getFieldReadInfoFieldName, getFieldWriteInfoFieldName, getStaticModifiers, getWrapperReadMethod, getWrapperWriteMethod, isPrepared, replaceFieldAccess, unwrap, wrap
public GeneratedAdvisorFieldAccessTransformer(Instrumentor instrumentor)
protected void doBuildFieldWrappers(javassist.CtClass clazz, javassist.CtField field, int index, boolean shouldReplaceArrayAccess, JoinpointClassification classificationGet, JoinpointClassification classificationSet) throws javassist.NotFoundException, javassist.CannotCompileException
doBuildFieldWrappers
in class FieldAccessTransformer
javassist.NotFoundException
javassist.CannotCompileException
protected String addFieldReadInfoFieldToGeneratedAdvisor(javassist.CtField field, int index) throws javassist.NotFoundException, javassist.CannotCompileException
javassist.NotFoundException
javassist.CannotCompileException
protected boolean addInfoAsWeakReference()
addInfoAsWeakReference
in class FieldAccessTransformer
protected boolean markInfoAsSynthetic()
markInfoAsSynthetic
in class FieldAccessTransformer
protected String addFieldWriteInfoFieldToGeneratedAdvisor(javassist.CtField field, int index) throws javassist.NotFoundException, javassist.CannotCompileException
javassist.NotFoundException
javassist.CannotCompileException
protected void buildWrapperPlaceHolders(javassist.CtClass clazz, javassist.CtField field, boolean doGet, boolean doSet, int mod) throws javassist.NotFoundException, javassist.CannotCompileException
FieldAccessTransformer
PS: Removed from inside inner classes to avoid code repetition.
buildWrapperPlaceHolders
in class FieldAccessTransformer
javassist.NotFoundException
javassist.CannotCompileException
public static String advisorFieldRead(javassist.CtClass genadvisor, String fieldName)
public static String advisorFieldWrite(javassist.CtClass genadvisor, String fieldName)
protected String getWrapperBody(javassist.CtClass clazz, javassist.CtField field, boolean get, int fieldIndex) throws javassist.NotFoundException, javassist.CannotCompileException
FieldAccessTransformer
field
joinpoint.getWrapperBody
in class FieldAccessTransformer
clazz
- the class declaring field
.field
- the field whose joinpoint wrapper code will be generated.get
- indicates if the wrapper is a field read wrapper or a field
write wrapper.fieldIndex
- the index of field
.javassist.NotFoundException
javassist.CannotCompileException
protected void replaceFieldAccessInternally(javassist.CtClass clazz, javassist.CtField field, boolean doGet, boolean doSet, int index) throws javassist.CannotCompileException
FieldAccessTransformer
replaceFieldAccessInternally
in class FieldAccessTransformer
javassist.CannotCompileException
Copyright © 2013 JBoss, a division of Red Hat, Inc.. All Rights Reserved.