| 
|||||||||||
| 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.Expression
jml2b.structure.statement.ArrayInitializer
This class implements an array initializer statement, that is, for instance,  
 { {"car", "house" }, {"dog", "cat", "monkey"} }.
| 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 | 
| Method Summary | |
 java.lang.Object | 
clone()
Clones the array initializer  | 
 void | 
collectCalledMethod(java.util.Vector calledMethod)
 | 
 boolean | 
equals(Expression e)
Returns whether two expressions are equal.  | 
 java.util.Vector | 
getParsedItems()
Returns the set of parsed items that correspond to this expression  | 
 void | 
getPrecondition(IJml2bConfiguration config,
                ModifiableSet modifies,
                java.util.Vector req,
                java.util.Vector ens)
 | 
 JmlExpression | 
instancie()
Instancie the expression.  | 
 JmlExpression | 
instancie(Expression b)
Replaces this with the parameter in the expression. | 
 boolean | 
isConstant()
Returns whether this expression is a constant.  | 
 void | 
isModifiersCompatible(Modifiers modifiers)
Tests whether the expression contains fields that have modifiers compatible with the invariant modifiers.  | 
 LinkInfo | 
linkStatement(IJml2bConfiguration config,
              LinkContext f)
Links the statement.  | 
 void | 
old()
Converts old pragma in called old pragma.  | 
 antlr.collections.AST | 
parse(antlr.collections.AST tree)
Parses an AST tree in order to instanciate the statement 
 fields. | 
 void | 
processIdent()
Collects all the indentifier of the statement to give them an index in the identifer array.  | 
 void | 
setParsedItem(ParsedItem pi)
 | 
 Expression | 
subField(Field f,
         Field newF)
 | 
 Expression | 
subResult(java.lang.String ww)
 | 
 java.lang.String | 
toJava(int indent)
Displays the expression corresponding to a part of a method specification in a tool tip with the initial Java syntax.  | 
 Type | 
typeCheck(IJml2bConfiguration config,
          LinkContext f)
 | 
 Proofs | 
wp(IJml2bConfiguration config,
   java.lang.String result,
   Proofs normalBehaviour,
   ExceptionalBehaviourStack exceptionalBehaviour)
Returns the proofs resulting where the WP calculus apply on this expression.  | 
| Methods inherited from class jml2b.structure.statement.Expression | 
addInConjonction, and, createE, emit, exprToForm, getAssert, getFalse, getFromString, getLoop, getNodeText, getNodeType, getNull, getSpecBlock, getStateType, getTrue, getValue, getZero, isAnd, isBTrue, isComma, isDot, jmlNormalize, linkMethod, linkParameters, normComma, predToForm, renameParam, setNodeText, setNodeType, setStateType, wp | 
| Methods inherited from class jml2b.structure.statement.Statement | 
createS, ensures, ensures, firstStatement, fresh, freshObject, freshResult, getLoopAtLine, initFresh, link, linkStatements, tail | 
| 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 | 
| Method Detail | 
public java.lang.Object clone()
clone in interface JmlExpressionclone in class Statementpublic boolean equals(Expression e)
Expression
equals in class Expressione - The tested expression
true if the expression equals the parameter, 
 false otherwise
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 java.lang.String toJava(int indent)
Expression
toJava in class Expressionjava.lang.InternalError - since an array initializer appears only in 
 expression with side effects.
public LinkInfo linkStatement(IJml2bConfiguration config,
                              LinkContext f)
                       throws Jml2bException
Statement
linkStatement in class StatementJml2bException
public Type typeCheck(IJml2bConfiguration config,
                      LinkContext f)
               throws Jml2bException
Jml2bExceptionpublic void processIdent()
Expression
processIdent in class Expressionjml2b.pog.IdentifierResolver#bIdents
public Expression subField(Field f,
                           Field newF)
subField in class Expressionpublic Expression subResult(java.lang.String ww)
subResult in class Expressionpublic void isModifiersCompatible(Modifiers modifiers)
Expression
isModifiersCompatible in class Expressionmodifiers - The current invariant modifiers
java.lang.InternalError - since an array initializer appears only in 
 expression with side effects.public JmlExpression instancie(Expression b)
Expressionthis with the parameter in the expression.
instancie in interface JmlExpressioninstancie in class Expressionb - expression on which the method where the expression occurs is 
 called.
public JmlExpression instancie()
JmlExpression
public boolean isConstant()
Expression
isConstant in class Expressiontrue if the expression is a constant, 
 false otherwisepublic java.util.Vector getParsedItems()
Expression
getParsedItems in interface JmlExpressiongetParsedItems in class Expressionpublic void setParsedItem(ParsedItem pi)
setParsedItem in class Expressionpublic void old()
Expression
old in class Expressionjava.lang.InternalError - since an array initializer appears only in 
 expression with side effects.
public Proofs wp(IJml2bConfiguration config,
                 java.lang.String result,
                 Proofs normalBehaviour,
                 ExceptionalBehaviourStack exceptionalBehaviour)
Expression
wp in class Expressionconfig - the current configuration of the generatornormalBehaviour - theorems to ensure if the expression evaluation 
 terminates normallyexceptionalBehaviour - exceptional theorems to ensure if the
 expression evaluation terminates abruply on an exception
InternalError, - the methods arrayDeclaration are used to 
 calculate the lemmas.ArrayInitializer#arrayDeclaration(IJml2bConfiguration, Formula, 
 Type, Proofs, ExceptionalBehaviourStack)
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 Statement
  | 
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||