|
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.checker.JmlExpressionChecker
A visitor class to check privacy (and purity) of JML expressions.
| Field Summary | |
private boolean |
checkPurity
Indicates whether to check purity or not. |
private CContextType |
context
The context with which to report error if an error is found while checking visibility and purity. |
private long |
privacy
The visibility of specification context against which JML expressions are checked for visibility. |
private boolean |
sideEffectOk
Indicates if side effects are ok. |
| Fields inherited from class org.multijava.util.Utils |
DBG_LEVEL_HIGH, DBG_LEVEL_LOW, DBG_LEVEL_NO |
| Fields inherited from interface org.multijava.mjc.Constants |
ACC_PURE, AMID_JAVA_MATH, AMID_MAX, AMID_SAFE_MATH, CMP_VERSION, JAV_ASSERTION_ERROR, JAV_CLASS, JAV_CLASSLOADER, JAV_CLASSNOTFOUND_EXCEPTION, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_NOCLASSDEFFOUND_ERROR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RMJ_RUNTIME_EXCEPTION, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_SERIALIZABLE, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_SUPER, JAV_THIS, JAV_THROWABLE, MJ_ANCHOR, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LAND, OPE_LE, OPE_LNOT, OPE_LOR, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_MAX, TID_SHORT, TID_VOID, UNIV_ARRAY_TMP, UNIV_TMP |
| Constructor Summary | |
private |
JmlExpressionChecker(CContextType ctx,
long privacy)
Constructs a new instance. |
private |
JmlExpressionChecker(CContextType ctx,
long privacy,
boolean checkPurity)
Constructs a new instance. |
private |
JmlExpressionChecker(CContextType ctx,
long privacy,
boolean checkPurity,
boolean sideEffectOk)
|
| Method Summary | |
private void |
check(boolean cond,
TokenReference tref,
MessageDescription msg)
Checks if the condition, cond is true. |
private void |
check(boolean cond,
TokenReference tref,
MessageDescription msg,
Object obj1)
Checks if the condition, cond is true. |
private void |
check(boolean cond,
TokenReference tref,
MessageDescription msg,
Object obj1,
Object obj2)
Checks if the condition, cond is true. |
private void |
check(boolean cond,
TokenReference tref,
MessageDescription msg,
Object[] obj)
|
private void |
checkType(CType type,
TokenReference ref)
Checks the visibility of the given type, type. |
private void |
checkTypeHelper(CClass clazz,
TokenReference ref)
Checks the visibility of the given class, clazz. |
private CType |
getBaseType(CType type)
Returns the ultimate base type if the given type, type, is an array type. |
private static boolean |
isModelFieldReference(JExpression expr)
Returns true if the given expression,
expr is a reference to a model field. |
static boolean |
isVisibilityOk(long privacy,
long modifiers)
Returns true if a member (field or method) with the given modifiers, modifiers, can be used in a
specification context of the visibility, privacy. |
private int |
methodPureness(CMethod meth,
JExpression prefix)
Returns 1 if the given method, meth, is a pure
method. |
static void |
perform(CContextType ctx,
long privacy,
JExpression expr)
Checks visibility (and purity) of the given expression, expr, in the specification context of visibility,
privacy. |
static void |
perform(CContextType ctx,
long privacy,
JExpression expr,
boolean checkPurity)
Checks visibility (and purity) of the given expression, expr, in the specification context of visibility,
privacy. |
static void |
perform(CContextType ctx,
JExpression expr)
Checks purity of the given expression, expr. |
static void |
performSideEffectOk(CContextType ctx,
JExpression expr)
Checks the given expression allowing side effects. |
void |
visitAddExpression(JAddExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitArrayAccessExpression(JArrayAccessExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitArrayDimsAndInit(JArrayDimsAndInits self)
Checks visibility (and purity) of the given expression, self. |
void |
visitArrayInitializer(JArrayInitializer self)
Checks visibility (and purity) of the given expression, self. |
void |
visitArrayLengthExpression(JArrayLengthExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitAssignmentExpression(JAssignmentExpression self)
Checks visibility (and purity) of the given expression, self. |
protected void |
visitBinaryExpression(JBinaryExpression expr)
Checks visibility (and purity) of the given binary expression, expr. |
void |
visitBitwiseExpression(JBitwiseExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitCastExpression(JCastExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitClassExpression(JClassExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitCompoundAssignmentExpression(JCompoundAssignmentExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitConditionalAndExpression(JConditionalAndExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitConditionalExpression(JConditionalExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitConditionalOrExpression(JConditionalOrExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitDivideExpression(JDivideExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitEqualityExpression(JEqualityExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitExplicitConstructorInvocation(JExplicitConstructorInvocation self)
Checks visibility (and purity) of the given expression, self. |
protected void |
visitExpressions(JExpression[] exprs)
Checks visibility (and purity) of the given expressions, expr. |
void |
visitFieldExpression(JClassFieldExpression self)
Checks the given class field expression for visibility and purity violations. |
void |
visitInstanceofExpression(JInstanceofExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlCodeContract(JmlCodeContract self)
|
void |
visitJmlDurationExpression(JmlDurationExpression self)
Checks visibility of the given expression, self. |
void |
visitJmlElemTypeExpression(JmlElemTypeExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlFreshExpression(JmlFreshExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlInformalExpression(JmlInformalExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlInGroupClause(JmlInGroupClause self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlInvariantForExpression(JmlInvariantForExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlIsInitializedExpression(JmlIsInitializedExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlLabelExpression(JmlLabelExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlLockSetExpression(JmlLockSetExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlMapsIntoClause(JmlMapsIntoClause self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlNonNullElementsExpression(JmlNonNullElementsExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlNotAssignedExpression(JmlNotAssignedExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlNotModifiedExpression(JmlNotModifiedExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlOldExpression(JmlOldExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlPredicate(JmlPredicate self)
|
void |
visitJmlPreExpression(JmlPreExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlReachExpression(JmlReachExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlRelationalExpression(JmlRelationalExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlResultExpression(JmlResultExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlSetComprehension(JmlSetComprehension self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlSpaceExpression(JmlSpaceExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlSpecExpression(JmlSpecExpression self)
|
void |
visitJmlSpecQuantifiedExpression(JmlSpecQuantifiedExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlTypeExpression(JmlTypeExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlTypeOfExpression(JmlTypeOfExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitJmlWorkingSpaceExpression(JmlWorkingSpaceExpression self)
Checks visibility of the given expression, self. |
void |
visitLocalVariableExpression(JLocalVariableExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitMathModeExpression(MJMathModeExpression self)
Checks visibility (and purity) of the given expression. |
void |
visitMethodCallExpression(JMethodCallExpression self)
Checks the given method call expression for visibility and purity violations. |
void |
visitMinusExpression(JMinusExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitModuloExpression(JModuloExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitMultExpression(JMultExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitNameExpression(JNameExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitNewAnonymousClassExpression(JNewAnonymousClassExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitNewArrayExpression(JNewArrayExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitNewObjectExpression(JNewObjectExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitParenthesedExpression(JParenthesedExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitPostfixExpression(JPostfixExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitPrefixExpression(JPrefixExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitRelationalExpression(JRelationalExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitShiftExpression(JShiftExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitSuperExpression(JSuperExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitThisExpression(JThisExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitTypeNameExpression(JTypeNameExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitUnaryExpression(JUnaryExpression self)
Checks visibility (and purity) of the given expression, self. |
void |
visitUnaryPromoteExpression(JUnaryPromote self)
Checks visibility (and purity) of the given expression, self. |
void |
visitVariableDefinition(JVariableDefinition self)
Checks visibility (and purity) of the given expression, self. |
void |
visitWarnExpression(MJWarnExpression self)
Checks visibility (and purity) of the given expression. |
private void |
warnPureness(int cond,
TokenReference tref,
Object obj)
Produce a caution message about method pureness if the argument, cond, is -1. |
| 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 |
private CContextType context
private long privacy
private invariant privacy == ACC_PUBLIC || privacy == ACC_SPEC_PUBLIC || privacy == ACC_PROTECTED || privacy == ACC_SPEC_PROTECTED || privacy == ACC_PRIVATE || privacy == 0;
private boolean checkPurity
private boolean sideEffectOk
| Constructor Detail |
private JmlExpressionChecker(CContextType ctx,
long privacy)
requires privacy == ACC_PUBLIC || privacy == ACC_SPEC_PUBLIC || privacy == ACC_PROTECTED || privacy == ACC_SPEC_PROTECTED || privacy == ACC_PRIVATE || privacy == 0;
private JmlExpressionChecker(CContextType ctx,
long privacy,
boolean checkPurity)
requires privacy == ACC_PUBLIC || privacy == ACC_SPEC_PUBLIC || privacy == ACC_PROTECTED || privacy == ACC_SPEC_PROTECTED || privacy == ACC_PRIVATE || privacy == 0;
private JmlExpressionChecker(CContextType ctx,
long privacy,
boolean checkPurity,
boolean sideEffectOk)
| Method Detail |
public static void perform(CContextType ctx,
long privacy,
JExpression expr,
boolean checkPurity)
expr, in the specification context of visibility,
privacy. If there is an error, it is reported
using the given context, ctx. The purity check is
performed only if the argument checkPurity is
true.
requires privacy == ACC_PUBLIC || privacy == ACC_SPEC_PUBLIC || privacy == ACC_PROTECTED || privacy == ACC_SPEC_PROTECTED || privacy == ACC_PRIVATE || privacy == 0;
public static void perform(CContextType ctx,
long privacy,
JExpression expr)
expr, in the specification context of visibility,
privacy. If there is an error, it is reported
using the given context, ctx.
requires privacy == ACC_PUBLIC || privacy == ACC_SPEC_PUBLIC || privacy == ACC_PROTECTED || privacy == ACC_SPEC_PROTECTED || privacy == ACC_PRIVATE || privacy == 0;
public static void perform(CContextType ctx,
JExpression expr)
expr. If
there is an error, it is reported using the given context,
ctx.
public static void performSideEffectOk(CContextType ctx,
JExpression expr)
public void visitJmlCodeContract(JmlCodeContract self)
visitJmlCodeContract in interface JmlVisitorvisitJmlCodeContract in class JmlAbstractVisitorpublic void visitJmlDurationExpression(JmlDurationExpression self)
self.
visitJmlDurationExpression in interface JmlVisitorvisitJmlDurationExpression in class JmlAbstractVisitorpublic void visitJmlPredicate(JmlPredicate self)
visitJmlPredicate in interface JmlVisitorvisitJmlPredicate in class JmlAbstractVisitorpublic void visitJmlSpecExpression(JmlSpecExpression self)
visitJmlSpecExpression in interface JmlVisitorvisitJmlSpecExpression in class JmlAbstractVisitorpublic void visitJmlNotModifiedExpression(JmlNotModifiedExpression self)
self.
visitJmlNotModifiedExpression in interface JmlVisitorvisitJmlNotModifiedExpression in class JmlAbstractVisitorpublic void visitJmlNotAssignedExpression(JmlNotAssignedExpression self)
self.
visitJmlNotAssignedExpression in interface JmlVisitorvisitJmlNotAssignedExpression in class JmlAbstractVisitorpublic void visitJmlNonNullElementsExpression(JmlNonNullElementsExpression self)
self.
visitJmlNonNullElementsExpression in interface JmlVisitorvisitJmlNonNullElementsExpression in class JmlAbstractVisitorpublic void visitJmlElemTypeExpression(JmlElemTypeExpression self)
self.
visitJmlElemTypeExpression in interface JmlVisitorvisitJmlElemTypeExpression in class JmlAbstractVisitorpublic void visitJmlFreshExpression(JmlFreshExpression self)
self.
visitJmlFreshExpression in interface JmlVisitorvisitJmlFreshExpression in class JmlAbstractVisitorpublic void visitJmlInGroupClause(JmlInGroupClause self)
self.
visitJmlInGroupClause in interface JmlVisitorvisitJmlInGroupClause in class JmlAbstractVisitorpublic void visitJmlInformalExpression(JmlInformalExpression self)
self.
visitJmlInformalExpression in interface JmlVisitorvisitJmlInformalExpression in class JmlAbstractVisitorpublic void visitJmlInvariantForExpression(JmlInvariantForExpression self)
self.
visitJmlInvariantForExpression in interface JmlVisitorvisitJmlInvariantForExpression in class JmlAbstractVisitorpublic void visitJmlIsInitializedExpression(JmlIsInitializedExpression self)
self.
visitJmlIsInitializedExpression in interface JmlVisitorvisitJmlIsInitializedExpression in class JmlAbstractVisitorpublic void visitJmlLabelExpression(JmlLabelExpression self)
self.
visitJmlLabelExpression in interface JmlVisitorvisitJmlLabelExpression in class JmlAbstractVisitorpublic void visitJmlLockSetExpression(JmlLockSetExpression self)
self.
visitJmlLockSetExpression in interface JmlVisitorvisitJmlLockSetExpression in class JmlAbstractVisitorpublic void visitJmlMapsIntoClause(JmlMapsIntoClause self)
self.
visitJmlMapsIntoClause in interface JmlVisitorvisitJmlMapsIntoClause in class JmlAbstractVisitorpublic void visitJmlOldExpression(JmlOldExpression self)
self.
visitJmlOldExpression in interface JmlVisitorvisitJmlOldExpression in class JmlAbstractVisitorpublic void visitJmlPreExpression(JmlPreExpression self)
self.
visitJmlPreExpression in interface JmlVisitorvisitJmlPreExpression in class JmlAbstractVisitorpublic void visitJmlReachExpression(JmlReachExpression self)
self.
visitJmlReachExpression in interface JmlVisitorvisitJmlReachExpression in class JmlAbstractVisitorpublic void visitJmlResultExpression(JmlResultExpression self)
self.
visitJmlResultExpression in interface JmlVisitorvisitJmlResultExpression in class JmlAbstractVisitorpublic void visitJmlSetComprehension(JmlSetComprehension self)
self.
visitJmlSetComprehension in interface JmlVisitorvisitJmlSetComprehension in class JmlAbstractVisitorpublic void visitJmlSpaceExpression(JmlSpaceExpression self)
self.
visitJmlSpaceExpression in interface JmlVisitorvisitJmlSpaceExpression in class JmlAbstractVisitorpublic void visitJmlSpecQuantifiedExpression(JmlSpecQuantifiedExpression self)
self.
visitJmlSpecQuantifiedExpression in interface JmlVisitorvisitJmlSpecQuantifiedExpression in class JmlAbstractVisitorpublic void visitVariableDefinition(JVariableDefinition self)
self.
visitVariableDefinition in interface MjcVisitorvisitVariableDefinition in class JmlAbstractVisitorpublic void visitJmlTypeExpression(JmlTypeExpression self)
self.
visitJmlTypeExpression in interface JmlVisitorvisitJmlTypeExpression in class JmlAbstractVisitorpublic void visitJmlTypeOfExpression(JmlTypeOfExpression self)
self.
visitJmlTypeOfExpression in interface JmlVisitorvisitJmlTypeOfExpression in class JmlAbstractVisitorpublic void visitJmlWorkingSpaceExpression(JmlWorkingSpaceExpression self)
self.
visitJmlWorkingSpaceExpression in interface JmlVisitorvisitJmlWorkingSpaceExpression in class JmlAbstractVisitorpublic void visitAssignmentExpression(JAssignmentExpression self)
self.
visitAssignmentExpression in interface MjcVisitorvisitAssignmentExpression in class JmlAbstractVisitorpublic void visitCompoundAssignmentExpression(JCompoundAssignmentExpression self)
self.
visitCompoundAssignmentExpression in interface MjcVisitorvisitCompoundAssignmentExpression in class JmlAbstractVisitorpublic void visitConditionalExpression(JConditionalExpression self)
self.
visitConditionalExpression in interface MjcVisitorvisitConditionalExpression in class JmlAbstractVisitorpublic void visitJmlRelationalExpression(JmlRelationalExpression self)
self.
visitJmlRelationalExpression in interface JmlVisitorvisitJmlRelationalExpression in class JmlAbstractVisitorpublic void visitConditionalAndExpression(JConditionalAndExpression self)
self.
visitConditionalAndExpression in interface MjcVisitorvisitConditionalAndExpression in class JmlAbstractVisitorpublic void visitConditionalOrExpression(JConditionalOrExpression self)
self.
visitConditionalOrExpression in interface MjcVisitorvisitConditionalOrExpression in class JmlAbstractVisitorpublic void visitBitwiseExpression(JBitwiseExpression self)
self.
visitBitwiseExpression in interface MjcVisitorvisitBitwiseExpression in class JmlAbstractVisitorpublic void visitEqualityExpression(JEqualityExpression self)
self.
visitEqualityExpression in interface MjcVisitorvisitEqualityExpression in class JmlAbstractVisitorpublic void visitRelationalExpression(JRelationalExpression self)
self.
visitRelationalExpression in interface MjcVisitorvisitRelationalExpression in class JmlAbstractVisitorpublic void visitInstanceofExpression(JInstanceofExpression self)
self.
visitInstanceofExpression in interface MjcVisitorvisitInstanceofExpression in class JmlAbstractVisitorpublic void visitAddExpression(JAddExpression self)
self.
visitAddExpression in interface MjcVisitorvisitAddExpression in class JmlAbstractVisitorpublic void visitMinusExpression(JMinusExpression self)
self.
visitMinusExpression in interface MjcVisitorvisitMinusExpression in class JmlAbstractVisitorpublic void visitMultExpression(JMultExpression self)
self.
visitMultExpression in interface MjcVisitorvisitMultExpression in class JmlAbstractVisitorpublic void visitDivideExpression(JDivideExpression self)
self.
visitDivideExpression in interface MjcVisitorvisitDivideExpression in class JmlAbstractVisitorpublic void visitModuloExpression(JModuloExpression self)
self.
visitModuloExpression in interface MjcVisitorvisitModuloExpression in class JmlAbstractVisitorpublic void visitShiftExpression(JShiftExpression self)
self.
visitShiftExpression in interface MjcVisitorvisitShiftExpression in class JmlAbstractVisitorpublic void visitPrefixExpression(JPrefixExpression self)
self.
visitPrefixExpression in interface MjcVisitorvisitPrefixExpression in class JmlAbstractVisitorpublic void visitPostfixExpression(JPostfixExpression self)
self.
visitPostfixExpression in interface MjcVisitorvisitPostfixExpression in class JmlAbstractVisitorpublic void visitUnaryExpression(JUnaryExpression self)
self.
visitUnaryExpression in interface MjcVisitorvisitUnaryExpression in class JmlAbstractVisitorpublic void visitCastExpression(JCastExpression self)
self.
visitCastExpression in interface MjcVisitorvisitCastExpression in class JmlAbstractVisitorpublic void visitUnaryPromoteExpression(JUnaryPromote self)
self.
visitUnaryPromoteExpression in interface MjcVisitorvisitUnaryPromoteExpression in class JmlAbstractVisitorpublic void visitMethodCallExpression(JMethodCallExpression self)
visitMethodCallExpression in interface MjcVisitorvisitMethodCallExpression in class JmlAbstractVisitorpublic void visitTypeNameExpression(JTypeNameExpression self)
self.
visitTypeNameExpression in interface MjcVisitorvisitTypeNameExpression in class JmlAbstractVisitorpublic void visitThisExpression(JThisExpression self)
self.
visitThisExpression in interface MjcVisitorvisitThisExpression in class JmlAbstractVisitorpublic void visitSuperExpression(JSuperExpression self)
self.
visitSuperExpression in interface MjcVisitorvisitSuperExpression in class JmlAbstractVisitorpublic void visitClassExpression(JClassExpression self)
self.
visitClassExpression in interface MjcVisitorvisitClassExpression in class JmlAbstractVisitorpublic void visitExplicitConstructorInvocation(JExplicitConstructorInvocation self)
self.
visitExplicitConstructorInvocation in interface MjcVisitorvisitExplicitConstructorInvocation in class JmlAbstractVisitorpublic void visitArrayLengthExpression(JArrayLengthExpression self)
self.
visitArrayLengthExpression in interface MjcVisitorvisitArrayLengthExpression in class JmlAbstractVisitorpublic void visitArrayAccessExpression(JArrayAccessExpression self)
self.
visitArrayAccessExpression in interface MjcVisitorvisitArrayAccessExpression in class JmlAbstractVisitorpublic void visitNameExpression(JNameExpression self)
self.
visitNameExpression in interface MjcVisitorvisitNameExpression in class JmlAbstractVisitorpublic void visitLocalVariableExpression(JLocalVariableExpression self)
self.
visitLocalVariableExpression in interface MjcVisitorvisitLocalVariableExpression in class JmlAbstractVisitorpublic void visitParenthesedExpression(JParenthesedExpression self)
self.
visitParenthesedExpression in interface MjcVisitorvisitParenthesedExpression in class JmlAbstractVisitorpublic void visitNewObjectExpression(JNewObjectExpression self)
self.
visitNewObjectExpression in interface MjcVisitorvisitNewObjectExpression in class JmlAbstractVisitorpublic void visitNewAnonymousClassExpression(JNewAnonymousClassExpression self)
self.
visitNewAnonymousClassExpression in interface MjcVisitorvisitNewAnonymousClassExpression in class JmlAbstractVisitorpublic void visitNewArrayExpression(JNewArrayExpression self)
self.
visitNewArrayExpression in interface MjcVisitorvisitNewArrayExpression in class JmlAbstractVisitorpublic void visitArrayDimsAndInit(JArrayDimsAndInits self)
self.
visitArrayDimsAndInit in interface MjcVisitorvisitArrayDimsAndInit in class JmlAbstractVisitorpublic void visitArrayInitializer(JArrayInitializer self)
self.
visitArrayInitializer in interface MjcVisitorvisitArrayInitializer in class JmlAbstractVisitorpublic void visitFieldExpression(JClassFieldExpression self)
visitFieldExpression in interface MjcVisitorvisitFieldExpression in class JmlAbstractVisitorpublic void visitWarnExpression(MJWarnExpression self)
visitWarnExpression in interface MjcVisitorvisitWarnExpression in class JmlAbstractVisitorpublic void visitMathModeExpression(MJMathModeExpression self)
visitMathModeExpression in interface MjcVisitorvisitMathModeExpression in class JmlAbstractVisitorprotected void visitExpressions(JExpression[] exprs)
expr.
protected void visitBinaryExpression(JBinaryExpression expr)
expr.
private void check(boolean cond,
TokenReference tref,
MessageDescription msg,
Object obj1,
Object obj2)
cond is true. If not,
reports a positioned error.
private void check(boolean cond,
TokenReference tref,
MessageDescription msg,
Object[] obj)
private void check(boolean cond,
TokenReference tref,
MessageDescription msg,
Object obj1)
cond is true. If not,
reports a positioned error.
private void check(boolean cond,
TokenReference tref,
MessageDescription msg)
cond is true. If not,
reports a positioned error.
private void warnPureness(int cond,
TokenReference tref,
Object obj)
cond, is -1. If cond is 0,
produce a warning message instead; otherwise, do nothing.
public static boolean isVisibilityOk(long privacy,
long modifiers)
modifiers, can be used in a
specification context of the visibility, privacy.
requires privacy == ACC_PUBLIC || privacy == ACC_SPEC_PUBLIC || privacy == ACC_PROTECTED || privacy == ACC_SPEC_PROTECTED || privacy == ACC_PRIVATE || privacy == 0;
private void checkType(CType type,
TokenReference ref)
type. If
the given type is an array type, the visibility of its base
type is checked. For a nested type, also checks the owner
type's visibility. If there is a visibility violation, throw an
error message composed using the given token reference,
ref.
private void checkTypeHelper(CClass clazz,
TokenReference ref)
clazz. For a nested class, also checks the owner
class's visibility. If there is a visibility violation, throw
an error message composed using the given token reference,
ref.
private CType getBaseType(CType type)
type, is an array type. Otherwise, returns the
type itself.
private int methodPureness(CMethod meth,
JExpression prefix)
meth, is a pure
method. A method is pure if it is annoted with the JML
pure modifier or its owner (a class or an
interface) is declared as pure. Returns -1 if the given method
is not pure; returns 0 if it can not be determined, e.g., no
source code is available.
private static boolean isModelFieldReference(JExpression expr)
true if the given expression,
expr is a reference to a model field.
|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||