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
Constructors Constructor Description JavaAssistTestClassTransformer(java.lang.Class<?> testClass, java.lang.Class<? extends java.lang.annotation.Annotation> testMethodAnnotationType, MethodSignatureWriter<javassist.CtMethod> signatureWriter)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private voidaddClassInitializerNotification(javassist.CtClass clazz)private voidaddConstructorNotification(javassist.CtClass clazz)private voidaddLifeCycleNotifications(javassist.CtClass clazz)private java.lang.Class<?>asOriginalClass(javassist.CtClass type)private java.lang.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 org.powermock.core.transformers.TestClassTransformer
getTestClass, getTestMethodAnnotationType, signatureOf, signatureOf
-
-
-
-
Constructor Detail
-
JavaAssistTestClassTransformer
JavaAssistTestClassTransformer(java.lang.Class<?> testClass, java.lang.Class<? extends java.lang.annotation.Annotation> testMethodAnnotationType, MethodSignatureWriter<javassist.CtMethod> signatureWriter)
-
-
Method Detail
-
mustHaveTestAnnotationRemoved
protected abstract boolean mustHaveTestAnnotationRemoved(javassist.CtMethod method) throws java.lang.Exception- Throws:
java.lang.Exception
-
transform
public ClassWrapper<javassist.CtClass> transform(ClassWrapper<javassist.CtClass> clazz) throws java.lang.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:
java.lang.Exception
-
transform
private void transform(javassist.CtClass clazz) throws java.lang.Exception- Throws:
java.lang.Exception
-
isTestClass
private boolean isTestClass(javassist.CtClass clazz)
-
isNestedWithinTestClass
private boolean isNestedWithinTestClass(javassist.CtClass clazz)
-
asOriginalClass
private java.lang.Class<?> asOriginalClass(javassist.CtClass type) throws java.lang.Exception- Throws:
java.lang.Exception
-
asOriginalClassParams
private java.lang.Class<?>[] asOriginalClassParams(javassist.CtClass[] parameterTypes) throws java.lang.Exception- Throws:
java.lang.Exception
-
removeTestMethodAnnotationFrom
private void removeTestMethodAnnotationFrom(javassist.CtMethod m)
-
removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader
private void removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader(javassist.CtClass clazz) throws java.lang.Exception- Throws:
java.lang.Exception
-
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
private void restoreOriginalConstructorsAccesses(javassist.CtClass clazz) throws java.lang.Exception- Throws:
java.lang.Exception
-
makeDeferConstructorNonPublic
private void makeDeferConstructorNonPublic(javassist.CtClass clazz)
-
-