|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjml2b.util.Profiler
jml2b.structure.java.ParsedItem
jml2b.structure.java.NamedNode
jml2b.structure.java.AClass
jml2b.structure.java.Class
Internal representation of classes.
| Field Summary | |
java.util.Vector |
constructors
Constructors defined by the current class. |
java.util.Vector |
fields
Fields defined by the class. |
java.util.Vector |
methods
Methods defined by the current class. |
java.util.Vector |
staticFinalFieldInvariants
Static final fields declaration of the class. |
Proofs |
staticInitLemmas
|
java.util.Vector |
staticInvariants
Static invariants of the class. |
Proofs |
wellDefInvLemmas
|
| Fields inherited from class jml2b.structure.java.NamedNode |
garbage, nameIndex |
| Fields inherited from interface jml2b.link.Linkable |
STATE_LINKED, STATE_LINKED_STATEMENTS, STATE_LINKED_TYPE_CHECKED, STATE_UNLINKED |
| Fields inherited from interface jml.JmlDeclParserTokenTypes |
ABRUPT_BEHAVIOR, ACCESSIBLE, ACCESSIBLE_KEYWORD, ACCESSIBLE_REDUNDANTLY, ACCESSIBLE_SEQ, ADDITIVE_ASSIGNMENT_OP, ADDITIVE_OP, AFFIRM_KEYWORD, ALSO, AND, ARRAY_DECLARATOR, ASGNABLE_SEQ, ASSERT, ASSERT_REDUNDANTLY, ASSIGN, ASSIGNABLE, ASSIGNABLE_KEYWORD, ASSIGNABLE_REDUNDANTLY, ASSUME, ASSUME_KEYWORD, ASSUME_REDUNDANTLY, AXIOM, BACKWARD_IMPLIES, BADCHAR, BAND, BAND_ASSIGN, BEHAVIOR, BITWISE_ASSIGNMENT_OP, BITWISE_OP, BNOT, BOR, BOR_ASSIGN, BREAKS, BREAKS_KEYWORD, BREAKS_REDUNDANTLY, BREAKS_SEQ, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CALLABLE, CALLABLE_KEYWORD, CALLABLE_REDUNDANTLY, CALLABLE_SEQ, CASE, CAST, CHAR_LITERAL, CHOOSE, CHOOSE_IF, COLON, COMMA, CONJOINABLE_SPEC, CONSTRAINT, CONSTRAINT_KEYWORD, CONSTRAINT_REDUNDANTLY, CONSTRUCTOR, CONT_SEQ, CONTINUES, CONTINUES_KEYWORD, CONTINUES_REDUNDANTLY, DEC, DECREASES, DECREASES_REDUNDANTLY, DECREASING, DECREASING_KEYWORD, DECREASING_REDUNDANTLY, DEPENDS, DEPENDS_KEYWORD, DEPENDS_REDUNDANTLY, DIM_EXPRS, DIMS, DINFORMALLY, DIV, DIV_ASSIGN, DIV_SEQ, DIVERGES, DIVERGES_KEYWORD, DIVERGES_REDUNDANTLY, DOC_ATSIGN, DOC_ATSIGN_KEYWORD, DOC_AUTHOR, DOC_COMMENT, DOC_COMMENT_START, DOC_DEPRECATED, DOC_EXCEPTION, DOC_JML_SPECS, DOC_NL_WS, DOC_NON_EMPTY_TEXTLINE, DOC_NON_NL_WS, DOC_PARAM, DOC_RETURN, DOC_SEE, DOC_SERIAL, DOC_SERIALDATA, DOC_SERIALFIELD, DOC_SINCE, DOC_THROWS, DOC_UNKNOWN_KEYWORD, DOC_VERSION, DOT, DOT_DOT, ELSE, ENS_SEQ, ENSURES, ENSURES_KEYWORD, ENSURES_REDUNDANTLY, EOF, EQUAL, EQUALITY_OP, EQUIV, EQUIVALENCE_OP, ESC, EXAMPLE, EXCEPTIONAL_BEHAVIOR, EXCEPTIONAL_EXAMPLE, EXPONENT, EXSURES, EXSURES_REDUNDANTLY, EXT_ALSO, EXT_AND, FLOAT_SUFFIX, FOR, FOR_EXAMPLE, FOR_INIT, FOR_TEST, FOR_UPDATER, FORALL, GE, GHOST, GT, HENCE_BY, HENCE_BY_KEYWORD, HENCE_BY_REDUNDANTLY, HEX_DIGIT, IDENT, IGNORED_AT_IN_COMMENT, IMPLICATION_OP, IMPLIES_THAT, INC, INFORMAL_DESCRIPTION, INIT, INITIALIZER, INITIALLY, INSTANCE, INSTANCE_INIT, INVARIANT, INVARIANT_KEYWORD, INVARIANT_REDUNDANTLY, IS_SUBTYPE_OF, JAVA_BUILTIN_TYPE, JAVA_MODIFIER, JML_BACKSLASH_SEQUENCE, JML_MODIFIER, L_ARROW, LABEL, LABEL_KEYWORD, LAND, LBRACK, LCURLY, LCURLY_VBAR, LE, LET, LETOLD_KEYWORD, LIMPLIES, LITERAL_abstract, LITERAL_assert, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_const, LITERAL_continue, LITERAL_default, LITERAL_do, LITERAL_double, LITERAL_else, LITERAL_extends, LITERAL_false, LITERAL_final, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_long, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_package, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_strictfp, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_volatile, LITERAL_while, LNOT, LOGICAL_OP, LOOP_ASGNABLE_SEQ, LOOP_ASSIGNABLE_KEYWORD, LOOP_EXSURES, LOOP_INV_SEQ, LOOP_INVARIANT, LOOP_INVARIANT_REDUNDANTLY, LOOP_MODIFIES, LOOP_SIG_SEQ, LOR, LPAREN, LT, MAINTAINING, MAINTAINING_KEYWORD, MAINTAINING_REDUNDANTLY, MEASURED_BY, MEASURED_BY_KEYWORD, MEASURED_BY_REDUNDANTLY, METH, MINUS, MINUS_ASSIGN, ML_COMMENT, MOD, MOD_ASSIGN, MODEL, MODEL_PROGRAM, MODIFIABLE, MODIFIABLE_REDUNDANTLY, MODIFIER_SET, MODIFIES, MODIFIES_REDUNDANTLY, MONITORED, MONITORED_BY, MULTIPLICATIVE_ASSIGNMENT_OP, MULTIPLICATIVE_OP, NESTED_CLASS, NL_WS, NON_NL_WS, NON_NULL, NORMAL_BEHAVIOR, NORMAL_EXAMPLE, NOT_EQUAL, NOT_EQUIV, NOWARN_LABEL, NOWARN_LABEL_LIST, NULL_TREE_LOOKAHEAD, NUM_FLOAT, NUM_INT, OLD, OR, PARAM, PLUS, PLUS_ASSIGN, POST, POST_DEC, POST_INC, POST_INCREMENT_OP, POST_REDUNDANTLY, PRE, PRE_INCREMENT_OP, PRE_REDUNDANTLY, PRIVACY_MODIFIER, PURE, QUANT_VARS, QUANTIFIED_EXPR, QUANTIFIER_TOKEN, QUESTION, R_ARROW, RBRACK, RCURLY, READABLE_IF, REFINE, RELATIONAL_OP, REPLACE, REPRESENTS, REPRESENTS_KEYWORD, REPRESENTS_REDUNDANTLY, REQUIRES, REQUIRES_KEYWORD, REQUIRES_REDUNDANTLY, RETURNS, RETURNS_KEYWORD, RETURNS_REDUNDANTLY, RETURNS_SEQ, RPAREN, SEMI, SET, SET_COMPR, SHIFT_ASSIGNMENT_OP, SHIFT_OP, SIG_SEQ, SIGNALS, SIGNALS_KEYWORD, SIGNALS_REDUNDANTLY, SL, SL_ASSIGN, SL_COMMENT, SPEC_CASE, SPEC_PROTECTED, SPEC_PUBLIC, SPEC_SL_COMMENT, SPEC_STATEMENT, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STAR_ELEMS, STATIC_INITIALIZER, STRING_LITERAL, SUBCLASSING_CONTRACT, T_ELEMTYPE, T_EVERYTHING, T_EXISTS, T_FIELDS_OF, T_FORALL, T_FRESH, T_INVARIANT_FOR, T_IS_INITIALIZED, T_LBLNEG, T_LBLPOS, T_LOCKSET, T_MAX, T_MIN, T_NONNULLELEMENTS, T_NOT_MODIFIED, T_NOT_SPECIFIED, T_NOTHING, T_NUM_OF, T_OLD, T_OTHER, T_PRODUCT, T_REACH, T_RESULT, T_SUCH_THAT, T_SUM, T_TYPE, T_TYPEOF, T_TYPEOFALLTYPES, UNARY_NUMERIC_OP, UNINITIALIZED, UNREACHABLE, VAR_DECL, VBAR_RCURLY, VF_SEQ, VOCAB, WEAKLY, WHEN, WHEN_KEYWORD, WHEN_REDUNDANTLY, WS |
| Constructor Summary | |
Class()
|
|
Class(JmlFile jf,
antlr.collections.AST tree,
Package class_package,
Modifiers mods,
boolean external)
Creates a new class in package class_package, with
the given modifiers. |
|
Class(java.lang.String name,
Proofs lemmas,
Proofs wellDefInvLemmas,
java.util.Vector constructors,
java.util.Vector methods)
Creates a new class. |
|
| Method Summary | |
void |
addFields(Field fi)
|
void |
addGhost(Field f)
|
static void |
clearAll()
Clear all classes that could have been instanciated. |
java.lang.String |
emit(IJml2bConfiguration config)
|
boolean |
equals(java.lang.String fqn)
Return true iff the class "this" is equals to the class denoted by the given fully qualified name. |
java.util.Enumeration |
getAccessibleDepends()
|
java.util.Vector |
getAccessibleFields()
|
static Class |
getArray(IJml2bConfiguration config)
Return the class that is used to represent arrays. |
java.util.Enumeration |
getConstraints()
|
AMethod |
getConstructor(IJml2bConfiguration config,
java.util.Vector param_types)
Returns the constructor matching the given parameter types. |
Method |
getConstructor(Parameters p)
|
java.util.Enumeration |
getConstructors()
Returns an enumeration of the constructors defined by this class. |
AMethod |
getDefaultConstructor()
Returns the default constructor for this class, if the class defines one. |
java.util.Enumeration |
getDepends()
Returns an enumeration of the represents clauses defined in this class. |
AField |
getField(java.lang.String name,
AClass from)
Gets the field named name if it is visible from the given class. |
java.util.Enumeration |
getFields()
Returns an enumeration of the fields defined by the current class. |
java.util.Vector |
getFieldsV()
|
int |
getFirstLine()
|
java.lang.String |
getFullyQualifiedName()
|
Formula |
getGlobalMemberInvariant(IJml2bConfiguration config)
|
SimpleLemma |
getGlobalMemberInvariantProof(IJml2bConfiguration config)
|
java.util.Vector |
getGlobalStaticInvariant()
Returns the global static invariant. |
java.util.Enumeration |
getImplements()
Returns an enumeration of the implemented interfaces. |
java.util.Vector |
getInstanceConstraints()
|
java.util.Enumeration |
getInvariants()
Returns an enumeration of the invariants defined by this class. |
java.util.Enumeration |
getMemberInvariants()
Returns an enumeration of the member invariants. |
AMethod |
getMethod(java.lang.String name,
Parameters p)
Searches for a method with the given name and parameters in the current class. |
java.util.Enumeration |
getMethods()
Returns an enumeration of the methods declared by the current class. |
IModifiers |
getModifiers()
Returns the modifiers associated to the current class. |
java.lang.String |
getName()
Returns the name of the class. |
java.util.Vector |
getOwnFields()
Returns a vector containing all the fields defined by the current class and its super classes. |
Package |
getPackage()
Returns the package this class belongs to. |
java.util.Enumeration |
getRepresents()
Returns an enumeration of the represents clauses defined in this class. |
java.util.Vector |
getStaticConstraints()
|
java.util.Enumeration |
getStaticFinalFieldsInvariant()
Returns an enumeration of the invariants corresponding to static final fields. |
Expression |
getStaticFinalFieldsInvariants()
|
Proofs |
getStaticInitLemmas()
|
java.util.Enumeration |
getStaticInvariants()
Returns an enumeration of the static invariants defined by this class. |
Proofs |
getWellDefInvLemmas()
|
boolean |
isExternal()
Returns true if the current class is an "external" class. |
boolean |
isInterface()
|
void |
link(IJml2bConfiguration config,
LinkContext f)
Link the externally visible parts of the class. |
int |
linkStatements(IJml2bConfiguration config,
LinkContext f)
Link the parts that cannot be directly referenced from the outside. |
AMethod |
lookupMethodCurrentClass(IJml2bConfiguration config,
java.lang.String mth_name,
java.util.Vector param_types,
AMethod candidate)
Search for a method looking only in the current class (or interface). |
void |
mergeWith(Class[] classes)
|
int |
nbPo()
|
int |
nbPoProved()
|
int |
nbPoProved(java.lang.String prover)
|
antlr.collections.AST |
parse(JmlFile jmlFile,
antlr.collections.AST tree)
Initialise the content of the class from the given AST tree. |
void |
save(IJml2bConfiguration config,
JpoOutputStream s,
JmlFile jf)
.jpo file |
Type |
typeCheck(IJml2bConfiguration config,
LinkContext f)
|
| Methods inherited from class jml2b.structure.java.AClass |
addSuperFields, getField, getSuper, getSuperClass, getSuperDefaultConstructor, implementsInterface, isObject, isSubclassOf, lookupMethod, lookupMethodClass, lookupMethodInterface |
| Methods inherited from class jml2b.structure.java.NamedNode |
clearName, getBName, hasBName, newName |
| Methods inherited from class jml2b.structure.java.ParsedItem |
change, change, getColumn, getJmlFile, getLine, save, setBox |
| Methods inherited from class jml2b.util.Profiler |
runGC |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public java.util.Vector fields
JmlFields).
Note that Those fields do not include fields defined by the
superclass.
Fieldpublic java.util.Vector staticInvariants
jml2b.structure.Invariants).
Invariantpublic java.util.Vector staticFinalFieldInvariants
jml2b.structure.Invariants).
Invariantpublic java.util.Vector methods
Method elements.
Methodpublic java.util.Vector constructors
Method elements.
Methodpublic transient Proofs staticInitLemmas
public transient Proofs wellDefInvLemmas
| Constructor Detail |
public Class()
public Class(JmlFile jf,
antlr.collections.AST tree,
Package class_package,
Modifiers mods,
boolean external)
class_package, with
the given modifiers.
jf - the file that defines the class.tree - the AST tree corresponding to the class.class_package - the package this class belongs to.mods - the modifiers of this class.external - indicate wether the class correspond to an
"external" class, and so if the package/private fields
must be ignored
public Class(java.lang.String name,
Proofs lemmas,
Proofs wellDefInvLemmas,
java.util.Vector constructors,
java.util.Vector methods)
name - the name of the class.lemmas - the lemmas associated to this class.constructors - vector of Method elements
corresponding to the constructors defined by this class.methods - vector of Method elements
corresponding to the methods defined by this class.Method| Method Detail |
public AMethod getDefaultConstructor()
getDefaultConstructor in class AClassnull if the
class does not define a default constructor.public boolean isExternal()
true if the class is an external class,
false otherwise.public Package getPackage()
getPackage in class AClasspublic boolean isInterface()
isInterface in class AClasspublic IModifiers getModifiers()
getModifiers in class AClasspublic java.lang.String getName()
getName in class AClass
public AField getField(java.lang.String name,
AClass from)
getField in class AClassname - the name of the fieldfrom - the class from wich the field should be visible.
null.public java.util.Enumeration getFields()
Field.
Note that only the fields defined by the class are returned. Fields
defined by a super class of the current class are not returned.
getFields in class AClassFieldpublic java.util.Vector getFieldsV()
public java.util.Vector getOwnFields()
Field
getOwnFields in class AClassFieldpublic java.util.Enumeration getInvariants()
Invariant.
Invariantpublic java.util.Enumeration getConstraints()
public java.util.Enumeration getStaticInvariants()
Invariant.
getStaticInvariants in class AClassInvariantpublic java.util.Enumeration getRepresents()
Represents.
getRepresents in class AClassRepresents.public java.util.Enumeration getDepends()
Depends.
getDepends in class AClassDepends.public java.util.Enumeration getStaticFinalFieldsInvariant()
Invariant.
getStaticFinalFieldsInvariant in class AClassInvariantpublic java.util.Enumeration getMemberInvariants()
Invariant
elements.
getMemberInvariants in class AClassInvariantpublic java.util.Enumeration getImplements()
Type.
getImplements in class AClasspublic java.util.Enumeration getMethods()
Method.
Method
public AMethod getMethod(java.lang.String name,
Parameters p)
getMethod in class AClassname - the name of the methodp - the parameters of the method.
null otherwise.public Method getConstructor(Parameters p)
public java.util.Enumeration getConstructors()
Method.
Method
public antlr.collections.AST parse(JmlFile jmlFile,
antlr.collections.AST tree)
throws Jml2bException
tree must have type modifier_set.
jmlFile - the file that declares the current class.tree - the AST corresponding to the class declaration.
Jml2bException - in the case where a parse error occur.
public void link(IJml2bConfiguration config,
LinkContext f)
throws Jml2bException
link in interface Linkableconfig - the configuration that should be used.f - the current link context.
Jml2bException
public Type typeCheck(IJml2bConfiguration config,
LinkContext f)
throws Jml2bException
typeCheck in interface TypeCheckableJml2bException
public int linkStatements(IJml2bConfiguration config,
LinkContext f)
throws Jml2bException
linkStatements in interface Linkableconfig - the configuration that should be usedf - the current link context
Jml2bException - in the case where identifier cannot be linked
InternalError
public AMethod lookupMethodCurrentClass(IJml2bConfiguration config,
java.lang.String mth_name,
java.util.Vector param_types,
AMethod candidate)
throws Jml2bException
lookupMethodCurrentClass in class AClassconfig - the configuration that should be used.mth_name - the name of the searched method.param_types - vector of Type elements containing
the signature of the searched method.candidate - the current best candidate method.
Jml2bException
public AMethod getConstructor(IJml2bConfiguration config,
java.util.Vector param_types)
throws Jml2bException
getConstructor in class AClassconfig - the configuration that should be used.param_types - vector of Type elements corresponding
to the signature of the constructor.
null if
no such constructor could be found.
Jml2bExceptionpublic java.util.Vector getGlobalStaticInvariant()
public Expression getStaticFinalFieldsInvariants()
getStaticFinalFieldsInvariants in class AClasspublic java.lang.String getFullyQualifiedName()
getFullyQualifiedName in class AClasspublic boolean equals(java.lang.String fqn)
public Formula getGlobalMemberInvariant(IJml2bConfiguration config)
throws Jml2bException,
PogException
Jml2bException
PogExceptionpublic java.util.Enumeration getAccessibleDepends()
public java.util.Vector getAccessibleFields()
public SimpleLemma getGlobalMemberInvariantProof(IJml2bConfiguration config)
throws Jml2bException,
PogException
Jml2bException
PogExceptionpublic static void clearAll()
public static Class getArray(IJml2bConfiguration config)
throws Jml2bException
Jml2bExceptionpublic int nbPo()
public int nbPoProved(java.lang.String prover)
public int nbPoProved()
public void mergeWith(Class[] classes)
public java.lang.String emit(IJml2bConfiguration config)
public Proofs getStaticInitLemmas()
public Proofs getWellDefInvLemmas()
public void addGhost(Field f)
f - public int getFirstLine()
public void addFields(Field fi)
fi - public java.util.Vector getStaticConstraints()
public java.util.Vector getInstanceConstraints()
public void save(IJml2bConfiguration config,
JpoOutputStream s,
JmlFile jf)
throws java.io.IOException
java.io.IOException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||