Class JavaAssistTestClassTransformer
java.lang.Object
org.powermock.core.transformers.TestClassTransformer<javassist.CtClass, javassist.CtMethod>
org.powermock.core.transformers.javassist.testclass.JavaAssistTestClassTransformer
- All Implemented Interfaces:
MockTransformer<javassist.CtClass>
- Direct Known Subclasses:
ForMethodsJavaAssistTestClassTransformer, FromAllMethodsExceptJavaAssistTestClassTransformer
public abstract class JavaAssistTestClassTransformer
extends TestClassTransformer<javassist.CtClass, javassist.CtMethod>
-
Constructor Summary
ConstructorsConstructorDescriptionJavaAssistTestClassTransformer(Class<?> testClass, Class<? extends Annotation> testMethodAnnotationType, MethodSignatureWriter<javassist.CtMethod> signatureWriter) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddClassInitializerNotification(javassist.CtClass clazz) private voidaddConstructorNotification(javassist.CtClass clazz) private voidaddLifeCycleNotifications(javassist.CtClass clazz) private Class<?> asOriginalClass(javassist.CtClass type) private Class<?>[]asOriginalClassParams(javassist.CtClass[] parameterTypes) private static booleanhasSuperClass(javassist.CtClass clazz) private booleanisNestedWithinTestClass(javassist.CtClass clazz) private booleanisTestClass(javassist.CtClass clazz) private voidmakeDeferConstructorNonPublic(javassist.CtClass clazz) protected abstract booleanmustHaveTestAnnotationRemoved(javassist.CtMethod method) private voidremoveTestAnnotationsForTestMethodsThatRunOnOtherClassLoader(javassist.CtClass clazz) private voidremoveTestMethodAnnotationFrom(javassist.CtMethod m) private voidrestoreOriginalConstructorsAccesses(javassist.CtClass clazz) private voidtransform(javassist.CtClass clazz) ClassWrapper<javassist.CtClass> transform(ClassWrapper<javassist.CtClass> clazz) Transforms theclazz.Methods inherited from class TestClassTransformer
getTestClass, getTestMethodAnnotationType, signatureOf, signatureOf
-
Constructor Details
-
JavaAssistTestClassTransformer
JavaAssistTestClassTransformer(Class<?> testClass, Class<? extends Annotation> testMethodAnnotationType, MethodSignatureWriter<javassist.CtMethod> signatureWriter)
-
-
Method Details
-
mustHaveTestAnnotationRemoved
-
transform
public ClassWrapper<javassist.CtClass> transform(ClassWrapper<javassist.CtClass> clazz) throws Exception Description copied from interface:MockTransformerTransforms theclazz.- Parameters:
clazz- The class to be transform into a mock enabled class.- Returns:
- A
ClassWrapperrepresentation of the mocked class. - Throws:
Exception
-
transform
-
isTestClass
private boolean isTestClass(javassist.CtClass clazz) -
isNestedWithinTestClass
private boolean isNestedWithinTestClass(javassist.CtClass clazz) -
asOriginalClass
-
asOriginalClassParams
-
removeTestMethodAnnotationFrom
private void removeTestMethodAnnotationFrom(javassist.CtMethod m) -
removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader
-
addLifeCycleNotifications
private void addLifeCycleNotifications(javassist.CtClass clazz) -
addClassInitializerNotification
private void addClassInitializerNotification(javassist.CtClass clazz) throws javassist.CannotCompileException - Throws:
javassist.CannotCompileException
-
hasSuperClass
private static boolean hasSuperClass(javassist.CtClass clazz) -
addConstructorNotification
private void addConstructorNotification(javassist.CtClass clazz) throws javassist.CannotCompileException - Throws:
javassist.CannotCompileException
-
restoreOriginalConstructorsAccesses
-
makeDeferConstructorNonPublic
private void makeDeferConstructorNonPublic(javassist.CtClass clazz)
-