-
- All Superinterfaces:
Comparable<VerifiedClass>
public interface VerifiedClass extends Comparable<VerifiedClass>
A class that passed the static Takamaka verification tests. They are ordered wrt their name.
-
-
Field Summary
Fields Modifier and Type Field Description static StringFORBIDDEN_PREFIXThis prefix is forbidden in the name of fields and methods of a Takamaka class, since it will be used for instrumentation.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BootstrapsgetBootstraps()Yields a deep copy of the utility object that knows about the bootstraps of this class.StringgetClassName()Yields the fully-qualified name of this class.VerifiedJargetJar()Yields the jar this class belongs to.PushersgetPushers()Yields the utility that allows one to compute the pushers of values on the stack for the code in this class.org.apache.bcel.classfile.JavaClasstoJavaClass()Builds a Java class from this object.FieldwhiteListingModelOf(org.apache.bcel.generic.FieldInstruction fi)Yields the white-listing model for the field accessed by the given instruction.ExecutablewhiteListingModelOf(org.apache.bcel.generic.InvokeInstruction invoke)Yields the white-listing model for the method called by the given instruction.-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
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
-
-