| 
|||||||||||
| 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.statement.Statement
jml2b.structure.statement.StSequence
This class implements a sequence of two statements.
| Field Summary | 
| Fields inherited from class jml2b.structure.statement.Statement | 
arithmeticException, arrayIndexOutOfBoundsException, arrayStoreException, classCastException, negativeArraySizeException, nullPointerException | 
| 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 | 
| Fields inherited from interface jml2b.structure.statement.MyToken | 
BTRUE, FIRST_TOKEN, METHOD_CALL, NEWARRAY, nodeString, SEQUENCE, SKIP, T_CALLED_OLD, T_FRESH_CALLED_OLD, T_VARIANT_OLD | 
| Fields inherited from interface jml2b.link.Linkable | 
STATE_LINKED, STATE_LINKED_STATEMENTS, STATE_LINKED_TYPE_CHECKED, STATE_UNLINKED | 
| Constructor Summary | |
StSequence(ParsedItem pi,
           Statement left,
           Statement right)
Constructs a sequence from another one.  | 
|
| Method Summary | |
 void | 
collectCalledMethod(java.util.Vector calledMethod)
 | 
 java.lang.String | 
emit()
 | 
 Statement | 
firstStatement()
Returns the first statement in a sequence.  | 
 void | 
getAssert(java.util.Vector asser)
 | 
 void | 
getLoop(java.util.Vector asser)
 | 
 StLoops | 
getLoopAtLine(int line)
 | 
 void | 
getPrecondition(IJml2bConfiguration config,
                ModifiableSet modifies,
                java.util.Vector req,
                java.util.Vector ens)
 | 
 void | 
getSpecBlock(java.util.Vector asser)
 | 
 Statement | 
jmlNormalize(IJml2bConfiguration config,
             Class definingClass)
Collects all the indentifier of the statement to give them an index in the identifer array.  | 
 LinkInfo | 
linkStatement(IJml2bConfiguration config,
              LinkContext f)
Links the statement.  | 
 antlr.collections.AST | 
parse(antlr.collections.AST tree)
Parses an AST tree in order to instanciate the statement 
 fields. | 
 Statement | 
tail()
Returns the tail statement in a sequence considered as a list.  | 
 Type | 
typeCheck(IJml2bConfiguration config,
          LinkContext f)
 | 
 Proofs | 
wp(IJml2bConfiguration config,
   Proofs normalBehaviour,
   Proofs finishOnReturn,
   LabeledProofsVector finishOnBreakLab,
   LabeledProofsVector finishOnContinueLab,
   ExceptionalBehaviourStack exceptionalBehaviour)
Calculates the second statement on the proof context and then the first with the resulting proof as normal behaviour.  | 
| Methods inherited from class jml2b.structure.statement.Statement | 
clone, createS, ensures, ensures, fresh, freshObject, freshResult, initFresh, link, linkStatements | 
| 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 | 
| Constructor Detail | 
public StSequence(ParsedItem pi,
                  Statement left,
                  Statement right)
pi - The parsed itemleft - The first statementright - The second statement| Method Detail | 
public java.lang.String emit()
emit in class Statement
public antlr.collections.AST parse(antlr.collections.AST tree)
                            throws Jml2bException
StatementAST tree in order to instanciate the statement 
 fields.
parse in class Statementtree - AST tree containing the statement
Jml2bException - when a parse error occurs.
public LinkInfo linkStatement(IJml2bConfiguration config,
                              LinkContext f)
                       throws Jml2bException
Statement
linkStatement in class StatementJml2bException
public Type typeCheck(IJml2bConfiguration config,
                      LinkContext f)
               throws Jml2bException
Jml2bException
public Statement jmlNormalize(IJml2bConfiguration config,
                              Class definingClass)
                       throws PogException
Statement
jmlNormalize in class StatementdefiningClass - The class where this statement is defined
PogExceptionjml2b.pog.IdentifierResolver#bIdentspublic Statement firstStatement()
Statement
firstStatement in class StatementfirstStatement()public Statement tail()
Statement
tail in class Statementtail()
public Proofs wp(IJml2bConfiguration config,
                 Proofs normalBehaviour,
                 Proofs finishOnReturn,
                 LabeledProofsVector finishOnBreakLab,
                 LabeledProofsVector finishOnContinueLab,
                 ExceptionalBehaviourStack exceptionalBehaviour)
          throws Jml2bException,
                 PogException
wp in class StatementnormalBehaviour - theorems to ensure if the statement terminates
 normallyfinishOnReturn - theorems to ensure if the statement terminates
 abruptly on a returnfinishOnBreakLab - labelled theorems to ensure if the statement
 terminates abruptly on a breakfinishOnContinueLab - labelled theorems to ensure if the statement
 terminates abruptly on a continueexceptionalBehaviour - exceptional theorems to ensure if the
 statement terminates abruply on an exception
PogException - when an OutOfMemory occurs during the calculus.
Jml2bExceptionpublic StLoops getLoopAtLine(int line)
getLoopAtLine in class Statementline - 
public void getPrecondition(IJml2bConfiguration config,
                            ModifiableSet modifies,
                            java.util.Vector req,
                            java.util.Vector ens)
                     throws Jml2bException,
                            PogException
getPrecondition in class StatementJml2bException
PogExceptionpublic void collectCalledMethod(java.util.Vector calledMethod)
collectCalledMethod in class Statementpublic void getAssert(java.util.Vector asser)
getAssert in class Statementpublic void getSpecBlock(java.util.Vector asser)
getSpecBlock in class Statementpublic void getLoop(java.util.Vector asser)
getLoop in class Statement
  | 
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||