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 void
addClassInitializerNotification(javassist.CtClass clazz)
private void
addConstructorNotification(javassist.CtClass clazz)
private void
addLifeCycleNotifications(javassist.CtClass clazz)
private java.lang.Class<?>
asOriginalClass(javassist.CtClass type)
private java.lang.Class<?>[]
asOriginalClassParams(javassist.CtClass[] parameterTypes)
private static boolean
hasSuperClass(javassist.CtClass clazz)
private boolean
isNestedWithinTestClass(javassist.CtClass clazz)
private boolean
isTestClass(javassist.CtClass clazz)
private void
makeDeferConstructorNonPublic(javassist.CtClass clazz)
protected abstract boolean
mustHaveTestAnnotationRemoved(javassist.CtMethod method)
private void
removeTestAnnotationsForTestMethodsThatRunOnOtherClassLoader(javassist.CtClass clazz)
private void
removeTestMethodAnnotationFrom(javassist.CtMethod m)
private void
restoreOriginalConstructorsAccesses(javassist.CtClass clazz)
private void
transform(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:MockTransformer
Transforms theclazz
.- Parameters:
clazz
- The class to be transform into a mock enabled class.- Returns:
- A
ClassWrapper
representation 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)
-
-