Class SimplifiedInvocationUnit

    • Field Detail

      • isStatic

        protected boolean isStatic
      • isLoad

        protected boolean isLoad
      • stack

        protected Stack stack
      • method

        protected Method method
    • Constructor Detail

      • SimplifiedInvocationUnit

        public SimplifiedInvocationUnit()
    • Method Detail

      • visitParameter

        public void visitParameter​(Clazz clazz,
                                   Member member,
                                   int parameterIndex,
                                   int parameterCount,
                                   int parameterOffset,
                                   int parameterSize,
                                   java.lang.String parameterType,
                                   Clazz referencedClass)
        Description copied from interface: ParameterVisitor
        Visits the given parameter.
        Specified by:
        visitParameter in interface ParameterVisitor
        Parameters:
        clazz - the class of the method.
        member - the field or method of the parameter.
        parameterIndex - the index of the parameter.
        parameterCount - the total number of parameters.
        parameterOffset - the offset of the parameter, accounting for longs and doubles taking up two entries.
        parameterSize - the total size of the parameters, accounting for longs and doubles taking up two entries.
        parameterType - the parameter type.
        referencedClass - the class contained in the parameter type, if any.
      • getExceptionValue

        public abstract Value getExceptionValue​(Clazz clazz,
                                                ClassConstant catchClassConstant)
        Returns the value of the specified exception.
      • setFieldClassValue

        public abstract void setFieldClassValue​(Clazz clazz,
                                                FieldrefConstant fieldrefConstant,
                                                ReferenceValue value)
        Sets the class through which the specified field is accessed.
      • getFieldClassValue

        public abstract Value getFieldClassValue​(Clazz clazz,
                                                 FieldrefConstant fieldrefConstant,
                                                 java.lang.String type)
        Returns the class though which the specified field is accessed.
      • setFieldValue

        public abstract void setFieldValue​(Clazz clazz,
                                           FieldrefConstant fieldrefConstant,
                                           Value value)
        Sets the value of the specified field.
      • getFieldValue

        public abstract Value getFieldValue​(Clazz clazz,
                                            FieldrefConstant fieldrefConstant,
                                            java.lang.String type)
        Returns the value of the specified field.
      • setMethodParameterValue

        public abstract void setMethodParameterValue​(Clazz clazz,
                                                     AnyMethodrefConstant anyMethodrefConstant,
                                                     int parameterIndex,
                                                     Value value)
        Sets the value of the specified method parameter.
      • getMethodParameterValue

        public abstract Value getMethodParameterValue​(Clazz clazz,
                                                      Method method,
                                                      int parameterIndex,
                                                      java.lang.String type,
                                                      Clazz referencedClass)
        Returns the value of the specified method parameter.
      • setMethodReturnValue

        public abstract void setMethodReturnValue​(Clazz clazz,
                                                  Method method,
                                                  Value value)
        Sets the return value of the specified method.
      • getMethodReturnValue

        public abstract Value getMethodReturnValue​(Clazz clazz,
                                                   AnyMethodrefConstant anyMethodrefConstant,
                                                   java.lang.String type)
        Returns the return value of the specified method.
      • getMethodReturnValue

        public abstract Value getMethodReturnValue​(Clazz clazz,
                                                   InvokeDynamicConstant invokeDynamicConstant,
                                                   java.lang.String type)
        Returns the return value of the specified method.
      • methodMayHaveSideEffects

        protected boolean methodMayHaveSideEffects​(Clazz clazz,
                                                   AnyMethodrefConstant anyMethodrefConstant,
                                                   java.lang.String returnType)
        Returns true if the method itself can modify the stack/variables and therefore needs to be executed even if it returns void.