|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.multijava.util.Utils
org.multijava.util.compiler.Phylum
org.multijava.mjc.JPhylum
org.multijava.mjc.JExpression
org.jmlspecs.checker.JmlPredicate
This represents the AST node for a predicate in JML.
| Field Summary | |
private boolean |
purityChecked
|
private JmlSpecExpression |
specExpression
|
| Fields inherited from class org.multijava.mjc.JExpression |
EMPTY |
| Fields inherited from class org.multijava.util.compiler.Phylum |
|
| Fields inherited from class org.multijava.util.Utils |
DBG_LEVEL_HIGH, DBG_LEVEL_LOW, DBG_LEVEL_NO |
| Constructor Summary | |
JmlPredicate(JmlSpecExpression specExpression)
|
|
| Method Summary | |
void |
accept(MjcVisitor p)
Accepts the specified visitor. |
void |
genCode(CodeSequence code)
|
Object[] |
getFANonNulls(CContextType context)
Returns a list of expressions known to be non-null (null) in this context |
Object[] |
getFANulls(CContextType context)
Returns a list of expressions known to be null if this evaluates to false. |
CType |
getType()
|
boolean |
isNonNull(CContextType context)
Returns true iff the value represented by this expression is non-null |
boolean |
isSameKeyword()
|
boolean |
purityChecked()
Returns true if the purity of this spec expression has already been performed. |
void |
setPurityChecked()
Indicates the the purity of this spec expression has already been performed. |
JmlSpecExpression |
specExpression()
|
String |
toString()
|
JExpression |
typecheck(CExpressionContextType context)
Typechecks this JML predicate in the context of the given context, context. |
JExpression |
typecheck(CExpressionContextType context,
long privacy)
Typechecks this JML predicate in the context of the given context, context. |
| Methods inherited from class org.multijava.mjc.JExpression |
buildUniverseDynChecks, clone, convertType, dumpArray, fail, genBranch, genUniverseDynCheckCode, getApparentType, getBooleanLiteral, getLiteral, getNumberLiteral, getOrdinalLiteral, getRealLiteral, getStringLiteral, isAssignableTo, isBooleanLiteral, isConstant, isDeclaredNonNull, isLiteral, isMaybeInitializable, isOrdinalLiteral, isRealLiteral, isStatementExpression, isStringLiteral, typecheck, unParenthesize |
| Methods inherited from class org.multijava.mjc.JPhylum |
check, check, check, check, fail, fail, warn, warn, warn, warn |
| Methods inherited from class org.multijava.util.compiler.Phylum |
getTokenReference, setTokenReference |
| 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 |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
private JmlSpecExpression specExpression
private boolean purityChecked
| Constructor Detail |
public JmlPredicate(JmlSpecExpression specExpression)
| Method Detail |
public boolean isSameKeyword()
public JmlSpecExpression specExpression()
public CType getType()
JExpression
public boolean purityChecked()
public void setPurityChecked()
public void accept(MjcVisitor p)
p - the visitorpublic boolean isNonNull(CContextType context)
isNonNull in class JExpressionpublic Object[] getFANonNulls(CContextType context)
getFANonNulls in class JExpressionpublic Object[] getFANulls(CContextType context)
JExpression
getFANulls in class JExpression
public JExpression typecheck(CExpressionContextType context,
long privacy)
throws PositionedError
context. Also, performs visibility and
purity checks in the specification context of visibility,
privacy.
requires context != null;
PositionedError
public JExpression typecheck(CExpressionContextType context)
throws PositionedError
context.
PositionedErrorpublic void genCode(CodeSequence code)
JExpression
public String toString()
toString in class Object
|
JML | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||