Interface VerifiedClass

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String FORBIDDEN_PREFIX
      This prefix is forbidden in the name of fields and methods of a Takamaka class, since it will be used for instrumentation.
    • Field Detail

      • FORBIDDEN_PREFIX

        static final String FORBIDDEN_PREFIX
        This prefix is forbidden in the name of fields and methods of a Takamaka class, since it will be used for instrumentation. Java compilers do not allow one to use this character in the name of fields or methods, but it is still possible if Java bytecode is produced in other ways. Hence it is necessary to check that it is not used.
        See Also:
        Constant Field Values
    • Method Detail

      • whiteListingModelOf

        Field whiteListingModelOf​(org.apache.bcel.generic.FieldInstruction fi)
        Yields the white-listing model for the field accessed by the given instruction. This means that that instruction accesses that field but that access is white-listed only if the resulting model is verified.
        Parameters:
        fi - the instruction that accesses the field
        Returns:
        the model. This must exist, since the class is verified and all accesses have been proved to be white-listed (up to possible proof obligations contained in the model).
      • whiteListingModelOf

        Executable whiteListingModelOf​(org.apache.bcel.generic.InvokeInstruction invoke)
        Yields the white-listing model for the method called by the given instruction. This means that that instruction calls that method but that call is white-listed only if the resulting model is verified.
        Parameters:
        invoke - the instruction that calls the method
        Returns:
        the model. This must exist, since the class is verified and all calls have been proved to be white-listed (up to possible proof obligations contained in the model).
      • getJar

        VerifiedJar getJar()
        Yields the jar this class belongs to.
        Returns:
        the jar
      • getBootstraps

        Bootstraps getBootstraps()
        Yields a deep copy of the utility object that knows about the bootstraps of this class. It yields a deep copy since it is a modifiable object.
        Returns:
        the utility object
      • getPushers

        Pushers getPushers()
        Yields the utility that allows one to compute the pushers of values on the stack for the code in this class.
        Returns:
        the utility object
      • getClassName

        String getClassName()
        Yields the fully-qualified name of this class.
        Returns:
        the fully-qualified name
      • toJavaClass

        org.apache.bcel.classfile.JavaClass toJavaClass()
        Builds a Java class from this object.
        Returns:
        the Java class