|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.multijava.util.Utils
org.jmlspecs.checker.JmlAbstractVisitor
org.jmlspecs.jmlrac.RacAbstractVisitor
org.jmlspecs.jmlrac.AbstractExpressionTranslator
org.jmlspecs.jmlrac.TransExpression2
A RAC visitor class to translate JML expressions into Java source code.
| Field Summary | |
protected RacContext |
context
Current translation context. |
protected String |
errorType
|
protected String |
evaluatorPDef
|
protected String |
evaluatorPUse
|
protected JExpression |
expression
Expression to translate. |
protected boolean |
isInner
Keep track of this translator is helping a translator translate an inner class |
protected Stack |
prebuiltStatementsStack
Contains node that were translated using helpers. |
private boolean |
properlyEvaluated
|
protected PositionnedExpressionException |
reportedException
|
private String |
resultingExpression
String containing visitor methods results. |
protected String |
resultVar
Variable to hold the reslt of the target expression. |
protected String |
thisIs
|
private boolean |
translated
Is the expression already translated? |
protected JTypeDeclarationType |
typeDecl
The type declaration within which this expression resides (the type of 'this'). |
protected VarGenerator |
varGen
Generator of unique variable names. |
| Fields inherited from class org.multijava.util.Utils |
DBG_LEVEL_HIGH, DBG_LEVEL_LOW, DBG_LEVEL_NO |
| Fields inherited from interface org.jmlspecs.jmlrac.RacConstants |
MN_CHECK_HC, MN_CHECK_INV, MN_CHECK_POST, MN_CHECK_PRE, MN_CHECK_XPOST, MN_EVAL_OLD, MN_GHOST, MN_INIT, MN_INTERNAL, MN_MODEL, MN_MODEL_PUBLIC, MN_RESTORE_FROM, MN_SAVE_TO, MN_SPEC, MN_SPEC_PUBLIC, TN_JMLCHECKABLE, TN_JMLSURROGATE, TN_JMLUNIT_TEST_POSTFIX, TN_JMLUNIT_TESTDATA_POSTFIX, TN_JMLVALUE, TN_SURROGATE, VN_ASSERTION, VN_CATCH_VAR, VN_CLASS_INIT, VN_CONSTRUCTED, VN_DELEGEE, VN_ERROR_SET, VN_EXCEPTION, VN_FREE_VAR, VN_INIT, VN_OLD_VAR, VN_POST_VAR, VN_PRE_VAR, VN_PRECOND, VN_RAC_COMPILED, VN_RAC_LEVEL, VN_RESULT, VN_STACK_VAR, VN_XRESULT |
| Constructor Summary | |
TransExpression2(VarGenerator varGen,
RacContext ctx,
JExpression expr,
String resultVar,
JTypeDeclarationType typeDecl,
String errorType)
Constructs an instance and translates the given expression. |
|
| Method Summary | |
RacNode |
addPrebuiltNode(RacNode initial)
|
static boolean |
canMakeStaticCall(JClassFieldExpression expr,
String receiver)
Returns true if a static (non-dynamic) call can be made to the given field expression, expr. |
protected void |
generateBinaryExpression(String oper,
String left,
String right)
Generates a binary expression. |
protected void |
generateTertiaryExpression(String condition,
String left,
String right)
Generates a tertiary (conditional) expression. |
String |
GET_RESULT()
Returns the top element of the result stack. |
protected void |
handleExceptionalTranslation(PositionnedExpressionException e)
|
boolean |
hasPrebuiltNodes()
|
protected boolean |
isNonExecutableFieldReference(JClassFieldExpression expr)
Returns true if the referenced field (by the argument expression) is not executable. |
boolean |
isProperlyEvaluated()
|
private static boolean |
isStatic(JClassFieldExpression expr)
Returns true if the given field expression refers to a static field. |
private static boolean |
isStatic(JMethodCallExpression expr)
Returns true if the given method call expression refers to a static method. |
protected void |
LOG(String str)
Used for debugging pruposes only. |
private void |
needDynamicInvocationMethod()
Records that we need to generate the dynamic invocation method. |
protected static void |
notExecutableClauseWarn(TokenReference tok,
String description)
|
protected static void |
notImplementedClauseFail(TokenReference tok,
String description)
|
protected static void |
notSupportedClauseFail(TokenReference tok,
String description)
|
protected void |
perform()
Translates the current expression into a sequence of Java statements that evaluate and store the result in the result variable. |
private String |
receiverForDynamicCall(JExpression expr)
Returns the receiver for executing the given expression, expr using a dynamic call. |
protected void |
RETURN_RESULT(String str)
Puts the given object to the result stack. |
void |
setEvaluatorPDef(String str)
|
void |
setEvaluatorPUse(String str)
|
static boolean |
specAccessorNeeded(long modifiers)
Returns true if the modifiers indicate that we need to generate specification-only accessor method. |
RacNode |
stmt(boolean wrapped)
Returns the result of translating the expression. |
protected String |
stmtAsString()
|
private String |
transFieldReference(JClassFieldExpression self,
String accPrefix)
Translates a class field expression that references a model, ghost, spec_public, or spec_protected field. |
private String |
translatePrimitive(CType type)
|
protected void |
translateSpecQuantifiedExpression(TransExpression2 t,
JmlSpecQuantifiedExpression self)
|
private void |
translateToDynamicCall(JMethodCallExpression expr,
boolean isModel)
|
private void |
translateToDynamicNewObjectExpression(JNewObjectExpression expr,
boolean isSpecPublic)
Translates the given model, spec_public, or spec_protected constructor call expression, expr, which was
determined to be executed using a dynamic call. |
private void |
translateToStaticCall(JMethodCallExpression self,
long kind)
|
private void |
translateToStaticNewObjectExpression(JNewObjectExpression self,
boolean isSpecPublic)
Translates the given new object expression into a static call. |
void |
visitAddExpression(JAddExpression self)
Translates an add expression. |
void |
visitArrayAccessExpression(JArrayAccessExpression self)
Translates a Java array access expression. |
void |
visitArrayDimsAndInit(JArrayDimsAndInits self)
visits an array dimension and initialization expression |
void |
visitArrayInitializer(JArrayInitializer self)
visits an array initializer expression |
void |
visitArrayLengthExpression(JArrayLengthExpression self)
Translates a Java array length expression. |
void |
visitAssignmentExpression(JAssignmentExpression self)
Translates a Java assignment expression. |
protected void |
visitBigintLiteral(long value)
Translates a \bigint literal. |
protected void |
visitBinaryExpression(JBinaryExpression self,
String oper)
Translates various types of supported binary expression into left opr ritgh. |
void |
visitBitwiseExpression(JBitwiseExpression self)
Translates a bitwise expression into left opr ritgh. |
void |
visitBooleanLiteral(JBooleanLiteral self)
Translates a boolean literal. |
protected void |
visitByteLiteral(byte value)
Translates a byte literal. |
void |
visitCastExpression(JCastExpression self)
Translates a cast expression. |
void |
visitCharLiteral(JCharLiteral self)
Translates a character literal. |
void |
visitClassExpression(JClassExpression self)
Translates a Java class expression. |
void |
visitCompoundAssignmentExpression(JAssignmentExpression self)
Translates a Java compound assignment expression. |
void |
visitConditionalAndExpression(JConditionalAndExpression self)
Translates a conditional "and" expression into left && right. |
void |
visitConditionalExpression(JConditionalExpression self)
Translates a conditional expression. |
void |
visitConditionalOrExpression(JConditionalOrExpression self)
Translates a conditional "or" expression into left || right. |
void |
visitDivideExpression(JDivideExpression self)
Translates a divide expression. |
protected void |
visitDoubleLiteral(double value)
Translates a double literal. |
void |
visitEqualityExpression(JEqualityExpression self)
Translates an equality expression into left opr right. |
void |
visitExplicitConstructorInvocation(JExplicitConstructorInvocation self)
Translates an explicit constructor invocation |
void |
visitFieldExpression(JClassFieldExpression self)
Translates a Java field expression. |
protected void |
visitFloatLiteral(float value)
Translates a float literal. |
void |
visitInstanceofExpression(JInstanceofExpression self)
Translates a Java instanceof expression. |
protected void |
visitIntLiteral(int value)
Translates a int literal. |
void |
visitJmlElemTypeExpression(JmlElemTypeExpression self)
Translated a JmlElemTypeExpression. |
void |
visitJmlFreshExpression(JmlFreshExpression self)
Translates a JmlFreshExpression expression. |
void |
visitJmlInformalExpression(JmlInformalExpression self)
Translates a JmlInformalExpression expression. |
void |
visitJmlInvariantForExpression(JmlInvariantForExpression self)
NOT SUPPORTED The \invariant_for operator returns true just when its argument satisfies the invariant of its static type. |
void |
visitJmlIsInitializedExpression(JmlIsInitializedExpression self)
|
void |
visitJmlLabelExpression(JmlLabelExpression self)
|
void |
visitJmlLockSetExpression(JmlLockSetExpression self)
|
void |
visitJmlMaxExpression(JmlMaxExpression self)
|
void |
visitJmlNonNullElementsExpression(JmlNonNullElementsExpression self)
NOT SUPPORTED Translates a JmlNonNullElementsExpression. |
void |
visitJmlNotAssignedExpression(JmlNotAssignedExpression self)
Translates a JmlNotAssignedExpression expression. |
void |
visitJmlNotModifiedExpression(JmlNotModifiedExpression self)
Translates a JmlNotModifiedExpression expression. |
void |
visitJmlOldExpression(JmlOldExpression self)
|
void |
visitJmlPredicate(JmlPredicate self)
Translates the given JML predicate. |
void |
visitJmlPreExpression(JmlPreExpression self)
|
void |
visitJmlReachExpression(JmlReachExpression self)
|
void |
visitJmlRelationalExpression(JmlRelationalExpression self)
Translates a JML relational expression. |
void |
visitJmlResultExpression(JmlResultExpression self)
|
void |
visitJmlSetComprehension(JmlSetComprehension self)
|
void |
visitJmlSpecExpression(JmlSpecExpression self)
Translates the given JML spec expression. |
void |
visitJmlSpecQuantifiedExpression(JmlSpecQuantifiedExpression self)
|
void |
visitJmlTypeExpression(JmlTypeExpression self)
Translated a JmlTypeExpression. |
void |
visitJmlTypeOfExpression(JmlTypeOfExpression self)
Translated a JmlTypeExpression. |
void |
visitLocalVariableExpression(JLocalVariableExpression self)
Translates a Java local variable expression. |
protected void |
visitLongLiteral(long value)
Translates a long literal. |
void |
visitMethodCallExpression(JMethodCallExpression self)
Translates a Java method call expression. |
void |
visitMinusExpression(JMinusExpression self)
Translates a minus expression. |
void |
visitModuloExpression(JModuloExpression self)
Translates a modulo division expression. |
void |
visitMultExpression(JMultExpression self)
Translates a multiplication expression. |
void |
visitNameExpression(JNameExpression self)
Translates a Java name expression. |
void |
visitNewAnonymousClassExpression(JNewAnonymousClassExpression self)
Translates an object allocator expression for an anonymous class. |
void |
visitNewArrayExpression(JNewArrayExpression self)
Translates an array allocator expression. |
void |
visitNewObjectExpression(JNewObjectExpression self)
Translates a Java new object expression. |
void |
visitNullLiteral(JNullLiteral self)
Translates a null literal. |
void |
visitOrdinalLiteral(JOrdinalLiteral self)
Translates an ordinal literal. |
void |
visitParenthesedExpression(JParenthesedExpression self)
Translates a JParenthesedExpression expression into ( expr ). |
void |
visitPostfixExpression(JPostfixExpression self)
Translates a Java postfix expression. |
void |
visitPrefixExpression(JPrefixExpression self)
Translates a Java prefix expression. |
void |
visitRacPredicate(RacPredicate self)
Translates the given RAC predicate. |
void |
visitRealLiteral(JRealLiteral self)
Translates a real literal. |
void |
visitRelationalExpression(JRelationalExpression self)
Translates java relational expression. |
void |
visitShiftExpression(JShiftExpression self)
Translates a shift expression. |
protected void |
visitShortLiteral(short value)
Translates a short literal. |
void |
visitStringLiteral(JStringLiteral self)
Translates a string literal. |
void |
visitSuperExpression(JSuperExpression self)
visits a super expression |
void |
visitThisExpression(JThisExpression self)
visits a this expression |
void |
visitTypeNameExpression(JTypeNameExpression self)
Translates a Java type name expression |
void |
visitUnaryExpression(JUnaryExpression self)
Translates a JUnaryExpression expression into opr expr. |
void |
visitUnaryPromoteExpression(JUnaryPromote self)
Translates a Java unary promotion expression. |
protected RacNode |
wrap(RacNode node)
|
| Methods inherited from class org.jmlspecs.jmlrac.RacAbstractVisitor |
visitRacNode |
| Methods inherited from class org.multijava.util.Utils |
assertTrue, assertTrue, combineArrays, escapeString, escapeString, fail, fail, getFilePath, hasFlag, hasOtherFlags, parsePathParts, relativePathTo, splitQualifiedName, splitQualifiedName, stripJavaModifiers, stripNonJavaModifiers, stripPrivateModifier, unescapeString, vectorToArray, vectorToIntArray |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected VarGenerator varGen
protected String resultVar
private String resultingExpression
protected RacContext context
protected JExpression expression
protected JTypeDeclarationType typeDecl
private boolean translated
protected String errorType
private boolean properlyEvaluated
protected PositionnedExpressionException reportedException
protected boolean isInner
protected Stack prebuiltStatementsStack
protected String evaluatorPUse
protected String evaluatorPDef
protected String thisIs
| Constructor Detail |
public TransExpression2(VarGenerator varGen,
RacContext ctx,
JExpression expr,
String resultVar,
JTypeDeclarationType typeDecl,
String errorType)
varGen - variable generator to be used for generating fresh variable
names necessary in the translated code.expr - expression to be translated.resultVar - variable to store the result. In the translated code, the
result of the expression is stored in the variable whose name
given by this parameter.| Method Detail |
public RacNode stmt(boolean wrapped)
protected String stmtAsString()
protected RacNode wrap(RacNode node)
public RacNode addPrebuiltNode(RacNode initial)
public boolean hasPrebuiltNodes()
protected void perform()
protected void handleExceptionalTranslation(PositionnedExpressionException e)
public void visitRacPredicate(RacPredicate self)
visitRacPredicate in interface RacVisitorvisitRacPredicate in class RacAbstractVisitorpublic void visitJmlPredicate(JmlPredicate self)
visitJmlPredicate in interface JmlVisitorvisitJmlPredicate in class JmlAbstractVisitorpublic void visitJmlSpecExpression(JmlSpecExpression self)
visitJmlSpecExpression in interface JmlVisitorvisitJmlSpecExpression in class JmlAbstractVisitorpublic void visitJmlNonNullElementsExpression(JmlNonNullElementsExpression self)
visitJmlNonNullElementsExpression in interface JmlVisitorvisitJmlNonNullElementsExpression in class JmlAbstractVisitorpublic void visitJmlElemTypeExpression(JmlElemTypeExpression self)
visitJmlElemTypeExpression in interface JmlVisitorvisitJmlElemTypeExpression in class JmlAbstractVisitorpublic void visitJmlNotModifiedExpression(JmlNotModifiedExpression self)
visitJmlNotModifiedExpression in interface JmlVisitorvisitJmlNotModifiedExpression in class JmlAbstractVisitorpublic void visitJmlNotAssignedExpression(JmlNotAssignedExpression self)
visitJmlNotAssignedExpression in interface JmlVisitorvisitJmlNotAssignedExpression in class JmlAbstractVisitorpublic void visitJmlFreshExpression(JmlFreshExpression self)
visitJmlFreshExpression in interface JmlVisitorvisitJmlFreshExpression in class JmlAbstractVisitorpublic void visitJmlInformalExpression(JmlInformalExpression self)
visitJmlInformalExpression in interface JmlVisitorvisitJmlInformalExpression in class JmlAbstractVisitorpublic void visitJmlInvariantForExpression(JmlInvariantForExpression self)
visitJmlInvariantForExpression in interface JmlVisitorvisitJmlInvariantForExpression in class JmlAbstractVisitorpublic void visitJmlIsInitializedExpression(JmlIsInitializedExpression self)
visitJmlIsInitializedExpression in interface JmlVisitorvisitJmlIsInitializedExpression in class JmlAbstractVisitorpublic void visitJmlLabelExpression(JmlLabelExpression self)
visitJmlLabelExpression in interface JmlVisitorvisitJmlLabelExpression in class JmlAbstractVisitorpublic void visitJmlLockSetExpression(JmlLockSetExpression self)
visitJmlLockSetExpression in interface JmlVisitorvisitJmlLockSetExpression in class JmlAbstractVisitorpublic void visitJmlOldExpression(JmlOldExpression self)
visitJmlOldExpression in interface JmlVisitorvisitJmlOldExpression in class JmlAbstractVisitorpublic void visitJmlPreExpression(JmlPreExpression self)
visitJmlPreExpression in interface JmlVisitorvisitJmlPreExpression in class JmlAbstractVisitorpublic void visitJmlReachExpression(JmlReachExpression self)
visitJmlReachExpression in interface JmlVisitorvisitJmlReachExpression in class JmlAbstractVisitorpublic void visitJmlResultExpression(JmlResultExpression self)
visitJmlResultExpression in interface JmlVisitorvisitJmlResultExpression in class JmlAbstractVisitorpublic void visitJmlSetComprehension(JmlSetComprehension self)
visitJmlSetComprehension in interface JmlVisitorvisitJmlSetComprehension in class JmlAbstractVisitorpublic void visitJmlSpecQuantifiedExpression(JmlSpecQuantifiedExpression self)
visitJmlSpecQuantifiedExpression in interface JmlVisitorvisitJmlSpecQuantifiedExpression in class JmlAbstractVisitor
protected void translateSpecQuantifiedExpression(TransExpression2 t,
JmlSpecQuantifiedExpression self)
public void visitJmlTypeExpression(JmlTypeExpression self)
visitJmlTypeExpression in interface JmlVisitorvisitJmlTypeExpression in class JmlAbstractVisitorpublic void visitJmlTypeOfExpression(JmlTypeOfExpression self)
visitJmlTypeOfExpression in interface JmlVisitorvisitJmlTypeOfExpression in class JmlAbstractVisitorprivate String translatePrimitive(CType type)
public void visitJmlMaxExpression(JmlMaxExpression self)
visitJmlMaxExpression in interface JmlVisitorvisitJmlMaxExpression in class JmlAbstractVisitorpublic void visitAssignmentExpression(JAssignmentExpression self)
visitAssignmentExpression in interface MjcVisitorvisitAssignmentExpression in class JmlAbstractVisitorpublic void visitCompoundAssignmentExpression(JAssignmentExpression self)
protected void visitBinaryExpression(JBinaryExpression self,
String oper)
left opr ritgh.
-JBinaryArithmeticExpression
-- JAddExpression (+)
-- JBitwiseExpression (&, |, ^)
-- JDivideExpression (/)
-- JMinusExpression (-)
-- JModuloExpression (%)
-- JMultExpression (*)
-- JShiftExpression (<<, >>, >>>)
- JConditionalAndExpression (&&)
- JConditionalOrExpression (||)
- JEqualityExpression (==, !=)
- JRelationalExpression (<, <=, >, >=)
visitBinaryExpression in class JmlAbstractVisitor
protected void generateBinaryExpression(String oper,
String left,
String right)
public void visitEqualityExpression(JEqualityExpression self)
left opr right.
visitEqualityExpression in interface MjcVisitorvisitEqualityExpression in class JmlAbstractVisitorpublic void visitConditionalAndExpression(JConditionalAndExpression self)
left && right.
visitConditionalAndExpression in interface MjcVisitorvisitConditionalAndExpression in class JmlAbstractVisitorpublic void visitConditionalOrExpression(JConditionalOrExpression self)
left || right.
visitConditionalOrExpression in interface MjcVisitorvisitConditionalOrExpression in class JmlAbstractVisitorpublic void visitBitwiseExpression(JBitwiseExpression self)
left opr ritgh.
visitBitwiseExpression in interface MjcVisitorvisitBitwiseExpression in class JmlAbstractVisitorpublic void visitAddExpression(JAddExpression self)
visitAddExpression in interface MjcVisitorvisitAddExpression in class JmlAbstractVisitorpublic void visitMinusExpression(JMinusExpression self)
visitMinusExpression in interface MjcVisitorvisitMinusExpression in class JmlAbstractVisitorpublic void visitMultExpression(JMultExpression self)
visitMultExpression in interface MjcVisitorvisitMultExpression in class JmlAbstractVisitorpublic void visitDivideExpression(JDivideExpression self)
visitDivideExpression in interface MjcVisitorvisitDivideExpression in class JmlAbstractVisitorpublic void visitModuloExpression(JModuloExpression self)
visitModuloExpression in interface MjcVisitorvisitModuloExpression in class JmlAbstractVisitorpublic void visitShiftExpression(JShiftExpression self)
visitShiftExpression in interface MjcVisitorvisitShiftExpression in class JmlAbstractVisitorpublic void visitRelationalExpression(JRelationalExpression self)
visitRelationalExpression in interface MjcVisitorvisitRelationalExpression in class JmlAbstractVisitorpublic void visitJmlRelationalExpression(JmlRelationalExpression self)
visitJmlRelationalExpression in interface JmlVisitorvisitJmlRelationalExpression in class JmlAbstractVisitor
protected void generateTertiaryExpression(String condition,
String left,
String right)
public void visitConditionalExpression(JConditionalExpression self)
visitConditionalExpression in interface MjcVisitorvisitConditionalExpression in class JmlAbstractVisitorpublic void visitCastExpression(JCastExpression self)
visitCastExpression in interface MjcVisitorvisitCastExpression in class JmlAbstractVisitorpublic void visitUnaryPromoteExpression(JUnaryPromote self)
visitUnaryPromoteExpression in interface MjcVisitorvisitUnaryPromoteExpression in class JmlAbstractVisitorpublic void visitUnaryExpression(JUnaryExpression self)
opr expr.
visitUnaryExpression in interface MjcVisitorvisitUnaryExpression in class JmlAbstractVisitorpublic void visitParenthesedExpression(JParenthesedExpression self)
( expr ).
visitParenthesedExpression in interface MjcVisitorvisitParenthesedExpression in class JmlAbstractVisitorpublic void visitInstanceofExpression(JInstanceofExpression self)
visitInstanceofExpression in interface MjcVisitorvisitInstanceofExpression in class JmlAbstractVisitorpublic void visitLocalVariableExpression(JLocalVariableExpression self)
visitLocalVariableExpression in interface MjcVisitorvisitLocalVariableExpression in class JmlAbstractVisitorpublic void visitFieldExpression(JClassFieldExpression self)
visitFieldExpression in interface MjcVisitorvisitFieldExpression in class JmlAbstractVisitorprotected boolean isNonExecutableFieldReference(JClassFieldExpression expr)
public static boolean specAccessorNeeded(long modifiers)
ensures \result == (hasFlag(modifiers, ACC_PRIVATE) && (hasFlag(modifiers, ACC_SPEC_PUBLIC) || hasFlag(modifiers, ACC_SPEC_PROTECTED)));
private String transFieldReference(JClassFieldExpression self,
String accPrefix)
private String receiverForDynamicCall(JExpression expr)
expr using a dynamic call. The argument is
supposed to be either a non-static JClassFieldExpression
referring to a model, ghost, spec_public, or spec_protected
field or a non-static JMethodCallExpression calling a
spec_public or spec_protected method. If the receiver is
"this", a null value is returned; otherwise, the returned
source code, if executed, evaluates the receiver and assign it
to the fresh variable whose name is given by the name field of
RacNode.
private void needDynamicInvocationMethod()
public static boolean canMakeStaticCall(JClassFieldExpression expr,
String receiver)
expr. The given expression
is assumed to be a reference to a model, ghost, spec_public, or
spec_protected field.
private static boolean isStatic(JClassFieldExpression expr)
private static boolean isStatic(JMethodCallExpression expr)
public void visitMethodCallExpression(JMethodCallExpression self)
visitMethodCallExpression in interface MjcVisitorvisitMethodCallExpression in class JmlAbstractVisitor
private void translateToStaticCall(JMethodCallExpression self,
long kind)
private void translateToDynamicCall(JMethodCallExpression expr,
boolean isModel)
public void visitThisExpression(JThisExpression self)
MjcVisitor
visitThisExpression in interface MjcVisitorvisitThisExpression in class JmlAbstractVisitorpublic void visitSuperExpression(JSuperExpression self)
MjcVisitor
visitSuperExpression in interface MjcVisitorvisitSuperExpression in class JmlAbstractVisitorpublic void visitPrefixExpression(JPrefixExpression self)
visitPrefixExpression in interface MjcVisitorvisitPrefixExpression in class JmlAbstractVisitorpublic void visitPostfixExpression(JPostfixExpression self)
visitPostfixExpression in interface MjcVisitorvisitPostfixExpression in class JmlAbstractVisitorpublic void visitTypeNameExpression(JTypeNameExpression self)
visitTypeNameExpression in interface MjcVisitorvisitTypeNameExpression in class JmlAbstractVisitorpublic void visitArrayLengthExpression(JArrayLengthExpression self)
visitArrayLengthExpression in interface MjcVisitorvisitArrayLengthExpression in class JmlAbstractVisitorpublic void visitArrayAccessExpression(JArrayAccessExpression self)
visitArrayAccessExpression in interface MjcVisitorvisitArrayAccessExpression in class JmlAbstractVisitorpublic void visitClassExpression(JClassExpression self)
visitClassExpression in interface MjcVisitorvisitClassExpression in class JmlAbstractVisitorpublic void visitExplicitConstructorInvocation(JExplicitConstructorInvocation self)
visitExplicitConstructorInvocation in interface MjcVisitorvisitExplicitConstructorInvocation in class JmlAbstractVisitorpublic void visitNameExpression(JNameExpression self)
visitNameExpression in interface MjcVisitorvisitNameExpression in class JmlAbstractVisitorpublic void visitNewObjectExpression(JNewObjectExpression self)
visitNewObjectExpression in interface MjcVisitorvisitNewObjectExpression in class JmlAbstractVisitor
private void translateToStaticNewObjectExpression(JNewObjectExpression self,
boolean isSpecPublic)
private void translateToDynamicNewObjectExpression(JNewObjectExpression expr,
boolean isSpecPublic)
expr, which was
determined to be executed using a dynamic call. If the
argument, isSpecPublic, is true, the new
expression is for a spec_public or spec_protected constructor;
otherwise, it is for a model constructor.
public void visitNewAnonymousClassExpression(JNewAnonymousClassExpression self)
visitNewAnonymousClassExpression in interface MjcVisitorvisitNewAnonymousClassExpression in class JmlAbstractVisitorpublic void visitNewArrayExpression(JNewArrayExpression self)
visitNewArrayExpression in interface MjcVisitorvisitNewArrayExpression in class JmlAbstractVisitorpublic void visitArrayDimsAndInit(JArrayDimsAndInits self)
MjcVisitor
visitArrayDimsAndInit in interface MjcVisitorvisitArrayDimsAndInit in class JmlAbstractVisitorpublic void visitArrayInitializer(JArrayInitializer self)
MjcVisitor
visitArrayInitializer in interface MjcVisitorvisitArrayInitializer in class JmlAbstractVisitorpublic void visitBooleanLiteral(JBooleanLiteral self)
visitBooleanLiteral in interface MjcVisitorvisitBooleanLiteral in class JmlAbstractVisitorpublic void visitCharLiteral(JCharLiteral self)
visitCharLiteral in interface MjcVisitorvisitCharLiteral in class JmlAbstractVisitorpublic void visitOrdinalLiteral(JOrdinalLiteral self)
visitOrdinalLiteral in interface MjcVisitorvisitOrdinalLiteral in class JmlAbstractVisitorprotected void visitByteLiteral(byte value)
visitByteLiteral in class JmlAbstractVisitorprotected void visitIntLiteral(int value)
visitIntLiteral in class JmlAbstractVisitorprotected void visitLongLiteral(long value)
visitLongLiteral in class JmlAbstractVisitorprotected void visitBigintLiteral(long value)
protected void visitShortLiteral(short value)
visitShortLiteral in class JmlAbstractVisitorpublic void visitRealLiteral(JRealLiteral self)
visitRealLiteral in interface MjcVisitorvisitRealLiteral in class JmlAbstractVisitorprotected void visitDoubleLiteral(double value)
visitDoubleLiteral in class JmlAbstractVisitorprotected void visitFloatLiteral(float value)
visitFloatLiteral in class JmlAbstractVisitorpublic void visitStringLiteral(JStringLiteral self)
visitStringLiteral in interface MjcVisitorvisitStringLiteral in class JmlAbstractVisitorpublic void visitNullLiteral(JNullLiteral self)
visitNullLiteral in interface MjcVisitorvisitNullLiteral in class JmlAbstractVisitorpublic String GET_RESULT()
protected void RETURN_RESULT(String str)
protected void LOG(String str)
protected static void notExecutableClauseWarn(TokenReference tok,
String description)
protected static void notImplementedClauseFail(TokenReference tok,
String description)
protected static void notSupportedClauseFail(TokenReference tok,
String description)
public boolean isProperlyEvaluated()
public void setEvaluatorPUse(String str)
public void setEvaluatorPDef(String str)
|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||