public abstract class AbstractMainMockTransformer extends Object implements MockTransformer
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractMainMockTransformer.PowerMockExpressionEditor |
Modifier and Type | Field and Description |
---|---|
protected TransformStrategy |
strategy |
Constructor and Description |
---|
AbstractMainMockTransformer(TransformStrategy strategy) |
Modifier and Type | Method and Description |
---|---|
protected String |
allowMockingOfPackagePrivateClasses(javassist.CtClass clazz) |
protected void |
allowMockingOfStaticAndFinalAndNativeMethods(javassist.CtClass clazz) |
protected javassist.CtClass |
ensureJvmMethodSizeLimit(javassist.CtClass clazz)
According to JVM specification method size must be lower than 65536 bytes.
|
protected void |
removeFinalModifierFromAllStaticFinalFields(javassist.CtClass clazz) |
protected void |
removeFinalModifierFromClass(javassist.CtClass clazz) |
protected void |
setAllConstructorsToPublic(javassist.CtClass clazz) |
protected void |
suppressStaticInitializerIfRequested(javassist.CtClass clazz,
String name) |
javassist.CtClass |
transform(javassist.CtClass clazz)
Transforms the
clazz . |
protected abstract javassist.CtClass |
transformMockClass(javassist.CtClass clazz) |
protected final TransformStrategy strategy
public AbstractMainMockTransformer(TransformStrategy strategy)
protected String allowMockingOfPackagePrivateClasses(javassist.CtClass clazz)
protected void suppressStaticInitializerIfRequested(javassist.CtClass clazz, String name) throws javassist.CannotCompileException
javassist.CannotCompileException
protected void removeFinalModifierFromClass(javassist.CtClass clazz)
protected void allowMockingOfStaticAndFinalAndNativeMethods(javassist.CtClass clazz) throws javassist.NotFoundException, javassist.CannotCompileException
javassist.NotFoundException
javassist.CannotCompileException
protected void removeFinalModifierFromAllStaticFinalFields(javassist.CtClass clazz)
protected void setAllConstructorsToPublic(javassist.CtClass clazz)
protected javassist.CtClass ensureJvmMethodSizeLimit(javassist.CtClass clazz) throws javassist.CannotCompileException, javassist.NotFoundException
When the limit is exceeded method's body is replaced by exception throw. Method is then instrumented again to allow mocking and suppression.
javassist.CannotCompileException
javassist.NotFoundException
public javassist.CtClass transform(javassist.CtClass clazz) throws Exception
MockTransformer
clazz
.transform
in interface MockTransformer
clazz
- The class to be
transform into a mock enabled class.CtClass
representation of the mocked class.Exception
protected abstract javassist.CtClass transformMockClass(javassist.CtClass clazz) throws javassist.CannotCompileException, javassist.NotFoundException
javassist.CannotCompileException
javassist.NotFoundException
Copyright © 2007–2016. All rights reserved.