protected static class FixedValue.ForPoolValue extends FixedValue implements FixedValue.AssignerConfigurable, ByteCodeAppender
FixedValue.AssignerConfigurable, FixedValue.ForPoolValue, FixedValue.ForStaticField
Instrumentation.Compound, Instrumentation.Context, Instrumentation.ForAbstractMethod
ByteCodeAppender.Compound, ByteCodeAppender.Size
assigner, considerRuntimeType
Modifier | Constructor and Description |
---|---|
protected |
ForPoolValue(StackManipulation valueLoadInstruction,
Class<?> loadedType,
Assigner assigner,
boolean considerRuntimeType)
Creates a new constant pool fixed value instrumentation.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
appender(TypeDescription instrumentedType)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
boolean |
appendsCode()
Determines if this byte code appender offers an (possibly empty) implementation of a method.
|
ByteCodeAppender.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Instrumentation.Context instrumentationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
boolean |
equals(Object other) |
int |
hashCode() |
InstrumentedType |
prepare(InstrumentedType instrumentedType)
During the preparation phase of an instrumentation, implementations are eligible to adding fields or methods
to the currently instrumented type.
|
String |
toString() |
Instrumentation |
withAssigner(Assigner assigner,
boolean considerRuntimeType)
Defines an explicit assigner to this fixed value instrumentation.
|
apply, reference, reference, value
protected ForPoolValue(StackManipulation valueLoadInstruction, Class<?> loadedType, Assigner assigner, boolean considerRuntimeType)
valueLoadInstruction
- The instruction that is responsible for loading the constant pool value onto the
operand stack.loadedType
- A type description representing the loaded type.assigner
- The assigner to use for assigning the fixed value to the return type of the
instrumented value.considerRuntimeType
- If true
, the runtime type of the given value will be considered for
assigning the return type.public Instrumentation withAssigner(Assigner assigner, boolean considerRuntimeType)
FixedValue.AssignerConfigurable
withAssigner
in interface FixedValue.AssignerConfigurable
assigner
- The assigner to use for assigning the fixed value to the return type of the
instrumented value.considerRuntimeType
- If true
, the runtime type of the given value will be considered for
assigning the return type.public InstrumentedType prepare(InstrumentedType instrumentedType)
Instrumentation
ByteCodeAppender
that is emitted
on the call to
Instrumentation.appender(net.bytebuddy.instrumentation.type.TypeDescription)
call. On this method call, type initializers can also be added to the instrumented type.prepare
in interface Instrumentation
instrumentedType
- The instrumented type that is the basis of the ongoing instrumentation.public ByteCodeAppender appender(TypeDescription instrumentedType)
Instrumentation
appender
in interface Instrumentation
instrumentedType
- The instrumented type that is to be created.Instrumentation.prepare(net.bytebuddy.instrumentation.type.InstrumentedType)
.public boolean appendsCode()
ByteCodeAppender
appendsCode
in interface ByteCodeAppender
true
if this byte code appender requires this method to be implemented or false
if this
appender describes an abstract method.public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Instrumentation.Context instrumentationContext, MethodDescription instrumentedMethod)
ByteCodeAppender
apply
in interface ByteCodeAppender
methodVisitor
- The method visitor to which the byte code appender writes its code to.instrumentationContext
- The instrumentation context of the current type creation process.instrumentedMethod
- The method that is the target of the instrumentation.public boolean equals(Object other)
equals
in class FixedValue
public int hashCode()
hashCode
in class FixedValue
Copyright © 2014. All rights reserved.