Class OldClassInstrumentor
- java.lang.Object
-
- org.robolectric.internal.bytecode.ClassInstrumentor
-
- org.robolectric.internal.bytecode.OldClassInstrumentor
-
public class OldClassInstrumentor extends ClassInstrumentor
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.robolectric.internal.bytecode.ClassInstrumentor
ClassInstrumentor.Decorator
-
-
Constructor Summary
Constructors Constructor Description OldClassInstrumentor(ClassInstrumentor.Decorator decorator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddDirectCallConstructor(MutableClass mutableClass)Generates code like this:protected voidgenerateClassHandlerCall(MutableClass mutableClass, org.objectweb.asm.tree.MethodNode originalMethod, java.lang.String originalMethodName, RobolectricGeneratorAdapter generator)protected voidinterceptInvokeVirtualMethod(MutableClass mutableClass, java.util.ListIterator<org.objectweb.asm.tree.AbstractInsnNode> instructions, org.objectweb.asm.tree.MethodInsnNode targetMethod)Decides to call through the appropriate method to intercept the method with an INVOKEVIRTUAL Opcode, depending if the invokedynamic bytecode instruction is available (Java 7+).protected voidwriteCallToInitializing(MutableClass mutableClass, RobolectricGeneratorAdapter generator)-
Methods inherited from class org.robolectric.internal.bytecode.ClassInstrumentor
analyzeClass, exceptionArray, instrument, instrument, instrumentNativeMethod, instrumentNormalMethod, makeMethodPrivate, makeMethodPublic
-
-
-
-
Constructor Detail
-
OldClassInstrumentor
public OldClassInstrumentor(ClassInstrumentor.Decorator decorator)
-
-
Method Detail
-
addDirectCallConstructor
protected void addDirectCallConstructor(MutableClass mutableClass)
Generates code like this:public ThisClass(DirectObjectMarker dom, ThisClass domInstance) { super(dom, domInstance); __robo_data__ = domInstance; }- Specified by:
addDirectCallConstructorin classClassInstrumentor
-
writeCallToInitializing
protected void writeCallToInitializing(MutableClass mutableClass, RobolectricGeneratorAdapter generator)
- Specified by:
writeCallToInitializingin classClassInstrumentor
-
generateClassHandlerCall
protected void generateClassHandlerCall(MutableClass mutableClass, org.objectweb.asm.tree.MethodNode originalMethod, java.lang.String originalMethodName, RobolectricGeneratorAdapter generator)
- Specified by:
generateClassHandlerCallin classClassInstrumentor
-
interceptInvokeVirtualMethod
protected void interceptInvokeVirtualMethod(MutableClass mutableClass, java.util.ListIterator<org.objectweb.asm.tree.AbstractInsnNode> instructions, org.objectweb.asm.tree.MethodInsnNode targetMethod)
Decides to call through the appropriate method to intercept the method with an INVOKEVIRTUAL Opcode, depending if the invokedynamic bytecode instruction is available (Java 7+).- Specified by:
interceptInvokeVirtualMethodin classClassInstrumentor
-
-