public class UnaryExpression extends AssertionExpression
Modifier and Type | Field and Description |
---|---|
static int |
COMPLEMENT |
static int |
IS |
static int |
MINUS |
static int |
NOOP |
static int |
NOT |
static int |
PLUS |
d_context, ERROR_SEMANTIC_VALIDATION
Constructor and Description |
---|
UnaryExpression(int op,
AssertionExpression expr,
Context context)
Construct a new object.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
accept(ExprVisitor ev,
java.lang.Object data)
Implement the "visitor pattern".
|
java.lang.String |
cExpression(java.lang.String epvVar,
int[] startInd)
Return the C version of the expression.
|
java.util.ArrayList |
getArrayIterMacros(java.lang.String epvVar,
int[] startInd)
Return the list of array iteration macro messages, if any.
|
int |
getDefaultComplexity()
Return the default complexity of the expression (0 = constant, 1 = linear,
etc.).
|
AssertionExpression |
getExpression()
Return the expression.
|
int |
getNumArrayIterMacrosByType(char type)
Returns the number of macros supported by this assertion of the
specified type.
|
int |
getOp()
Return the unary operator.
|
java.lang.String |
getOpSymbol()
Return the symbol associated with the operator.
|
boolean |
hasBuiltinMethod(int type)
Return TRUE if the expression is, or has, the specified built-in method
call; otherwise, return FALSE.
|
boolean |
hasMethodCall()
Return TRUE if the expression has at least one method call; otherwise,
return FALSE.
|
boolean |
hasMethodCall(java.lang.String name)
Return TRUE if the expression is, or has, a call to the specified
method; otherwise, return FALSE.
|
boolean |
hasPure()
Return TRUE if the expression is PURE clause; otherwise, return FALSE.
|
boolean |
hasResult()
Return TRUE if the expression contains RESULT; otherwise, return FALSE.
|
boolean |
hasResultOrArg()
Return TRUE if a result clause or method argument is found within the
expression; otherwise, return FALSE.
|
boolean |
hasResultOrOutArg(boolean outOnly)
Return TRUE if a result clause or output argument is found within the
expression; otherwise, return FALSE.
|
boolean |
hasUserDefinedMethod(boolean any)
Return TRUE if the expression has a method AND the method is any
user-defined method (when any is TRUE) or it is an user-defined
method with a throws clause (if any is FALSE); otherwise, return FALSE.
|
boolean |
requiresExtendableContext()
Return TRUE if extendable context is required to validate the expression;
otherwise, return FALSE.
|
boolean |
requiresMethodContext()
Return TRUE if method context is required to validate the expression;
otherwise, return FALSE.
|
java.lang.String |
toString()
Return the stringified version of the expression (in SIDL form).
|
protected void |
validateSemantics(Extendable ext,
Method m)
Validate the expression semantics, if necessary, within the context of the
extendable and optional method.
|
getExceptionPrefix, getExceptionPrefix, getReturnType, getReturnTypeName, getReturnTypeValue, hasParens, isValid, leftAssociative, returnIsArray, returnIsBoolean, returnIsCharacter, returnIsClass, returnIsDComplex, returnIsDouble, returnIsEnum, returnIsFComplex, returnIsFloat, returnIsInteger, returnIsInterface, returnIsLong, returnIsNumericArray, returnIsOpaque, returnIsString, setParens, setReturnToBoolean, setReturnToCharacter, setReturnToClass, setReturnToDComplex, setReturnToDouble, setReturnToEnum, setReturnToFComplex, setReturnToFloat, setReturnToInteger, setReturnToInterface, setReturnToLong, setReturnToOpaque, setReturnToString, setReturnType, setReturnType, validateExpression
public static final int NOOP
public static final int COMPLEMENT
public static final int IS
public static final int MINUS
public static final int NOT
public static final int PLUS
public UnaryExpression(int op, AssertionExpression expr, Context context) throws AssertionException
op
- The operator associated with this unary expression.expr
- The expression being paired with the operator.AssertionException
- The exception raised if the operator does not fall within
the range of supported operators OR if the expression
is null.public int getOp()
public java.lang.String getOpSymbol()
public AssertionExpression getExpression()
public boolean hasPure()
hasPure
in class AssertionExpression
public boolean hasResult()
hasResult
in class AssertionExpression
public boolean hasResultOrArg()
hasResultOrArg
in class AssertionExpression
public boolean hasResultOrOutArg(boolean outOnly)
hasResultOrOutArg
in class AssertionExpression
outOnly
- TRUE if only concerned with output arguments that are
out only; FALSE otherwise.public boolean hasMethodCall()
hasMethodCall
in class AssertionExpression
public boolean hasMethodCall(java.lang.String name)
hasMethodCall
in class AssertionExpression
public int getDefaultComplexity()
getDefaultComplexity
in class AssertionExpression
public boolean hasBuiltinMethod(int type)
hasBuiltinMethod
in class AssertionExpression
public boolean hasUserDefinedMethod(boolean any)
hasUserDefinedMethod
in class AssertionExpression
public boolean requiresExtendableContext()
requiresExtendableContext
in class AssertionExpression
public boolean requiresMethodContext()
requiresMethodContext
in class AssertionExpression
protected void validateSemantics(Extendable ext, Method m) throws AssertionException
validateSemantics
in class AssertionExpression
ext
- The interface or class that owns this expression.m
- The method that owns this expression.AssertionException
- The exception that can be raised during validation.public java.util.ArrayList getArrayIterMacros(java.lang.String epvVar, int[] startInd)
getArrayIterMacros
in class AssertionExpression
public int getNumArrayIterMacrosByType(char type)
getNumArrayIterMacrosByType
in class AssertionExpression
public java.lang.String cExpression(java.lang.String epvVar, int[] startInd)
cExpression
in class AssertionExpression
public java.lang.String toString()
toString
in class AssertionExpression
public java.lang.Object accept(ExprVisitor ev, java.lang.Object data)
AssertionExpression
accept
in class AssertionExpression