Class JavaAssistTestClassTransformer

    • 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 the clazz.
        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)