|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object jml2b.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.
Field
public java.util.Vector staticInvariants
jml2b.structure.Invariants
).
Invariant
public java.util.Vector staticFinalFieldInvariants
jml2b.structure.Invariants
).
Invariant
public java.util.Vector methods
Method
elements.
Method
public java.util.Vector constructors
Method
elements.
Method
public 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 ignoredpublic 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 AClass
null
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 AClass
public boolean isInterface()
isInterface
in class AClass
public IModifiers getModifiers()
getModifiers
in class AClass
public java.lang.String getName()
getName
in class AClass
public AField getField(java.lang.String name, AClass from)
getField
in class AClass
name
- 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 AClass
Field
public java.util.Vector getFieldsV()
public java.util.Vector getOwnFields()
Field
getOwnFields
in class AClass
Field
public java.util.Enumeration getInvariants()
Invariant
.
Invariant
public java.util.Enumeration getConstraints()
public java.util.Enumeration getStaticInvariants()
Invariant
.
getStaticInvariants
in class AClass
Invariant
public java.util.Enumeration getRepresents()
Represents
.
getRepresents
in class AClass
Represents.
public java.util.Enumeration getDepends()
Depends
.
getDepends
in class AClass
Depends.
public java.util.Enumeration getStaticFinalFieldsInvariant()
Invariant
.
getStaticFinalFieldsInvariant
in class AClass
Invariant
public java.util.Enumeration getMemberInvariants()
Invariant
elements.
getMemberInvariants
in class AClass
Invariant
public java.util.Enumeration getImplements()
Type
.
getImplements
in class AClass
public java.util.Enumeration getMethods()
Method
.
Method
public AMethod getMethod(java.lang.String name, Parameters p)
getMethod
in class AClass
name
- 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 Linkable
config
- the configuration that should be used.f
- the current link context.
Jml2bException
public Type typeCheck(IJml2bConfiguration config, LinkContext f) throws Jml2bException
typeCheck
in interface TypeCheckable
Jml2bException
public int linkStatements(IJml2bConfiguration config, LinkContext f) throws Jml2bException
linkStatements
in interface Linkable
config
- 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 AClass
config
- 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 AClass
config
- 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.
Jml2bException
public java.util.Vector getGlobalStaticInvariant()
public Expression getStaticFinalFieldsInvariants()
getStaticFinalFieldsInvariants
in class AClass
public java.lang.String getFullyQualifiedName()
getFullyQualifiedName
in class AClass
public boolean equals(java.lang.String fqn)
public Formula getGlobalMemberInvariant(IJml2bConfiguration config) throws Jml2bException, PogException
Jml2bException
PogException
public java.util.Enumeration getAccessibleDepends()
public java.util.Vector getAccessibleFields()
public SimpleLemma getGlobalMemberInvariantProof(IJml2bConfiguration config) throws Jml2bException, PogException
Jml2bException
PogException
public static void clearAll()
public static Class getArray(IJml2bConfiguration config) throws Jml2bException
Jml2bException
public 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 |