|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.llnl.babel.symbols.AssertionExpression
gov.llnl.babel.symbols.MethodCall
public class MethodCall
Fields inherited from class gov.llnl.babel.symbols.AssertionExpression |
---|
d_context, ERROR_SEMANTIC_VALIDATION |
Constructor Summary | |
---|---|
MethodCall(java.lang.String name,
Context context)
Create a new object. |
Method Summary | |
---|---|
java.lang.Object |
accept(ExprVisitor ev,
java.lang.Object data)
Implement the "visitor pattern". |
void |
addArgument(AssertionExpression arg)
Add the specified expression as an argument to the method call. |
java.lang.String |
cExpression(java.lang.String epvVar,
int[] startInd)
Return the C version of the expression. |
java.util.ArrayList |
getArgumentReturnTypes(Method meth)
Return a list of argument return type values (Integer) that correspond to the Type class equivalents of the arguments associated with the specified method. |
java.util.ArrayList |
getArguments()
Return an ArrayList of argument expressions with each
element as a AssertionExpression . |
java.util.ArrayList |
getArrayIterMacros(java.lang.String epvVar,
int[] startInd)
Return the list of array iteration macros, if any. |
java.lang.String |
getMethodName()
Return the name of the method call. |
int |
getNumArrayIterMacrosByType(char type)
Returns the number of macros supported by this assertion of the specified type. |
boolean |
hasCompatibleArgumentTypes(java.util.ArrayList list)
Return TRUE if the specified argument type list is compatible with the arguments in this call; otherwise, return FALSE. |
boolean |
hasMethodCall()
Return TRUE if the expression is, or has, at least one method call; otherwise, return FALSE. |
boolean |
hasPure()
Return TRUE if the expression is, or has, PURE clause; otherwise, return FALSE. |
boolean |
hasReservedMethod(int type)
Return TRUE if the expression is, or has, the specified reserved method; otherwise, return FALSE. |
boolean |
hasResult()
Return TRUE if the expression contains RESULT; otherwise, return FALSE. |
boolean |
hasUnreservedMethod(boolean any)
Return TRUE if the method is any unreserved method (when any is TRUE) or it is an unreserved method with a throws clause (if any is FALSE); otherwise, return FALSE. |
boolean |
isArrayMacroMethod()
Return TRUE if the method is one of the special array macro ones; otherwise, return FALSE. |
boolean |
isArrayMethod()
Return TRUE if the method is one of the special array ones; otherwise, return FALSE. |
boolean |
isBuiltinNumericArrayMethod()
Return TRUE if the method is one of the special built-in ones whose array argument(s) must contain numeric values only. |
boolean |
isBuiltinRelationMethod()
Return TRUE if the method is one of the special built-in ones whose only argument should be a relation; otherwise, return FALSE. |
boolean |
isStatic()
Return TRUE if the (unreserved) method is static; 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. |
boolean |
throwsExceptions()
Return TRUE if the (unreserved) method throws exceptions; 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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String ARRAY_BOOLEAN_RESULT_VAR
public static final java.lang.String ARRAY_COUNT_VAR
public static final java.lang.String ARRAY_DOUBLE_RESULT_VAR
public static final java.lang.String ARRAY_INTEGER_RESULT_VAR
public static final java.lang.String ARRAY_ITER_VAR
public static final java.lang.String ARRAY_SIZE_VAR
public static final char[] MACRO_RETURN_TYPE
public static final int MACRO_RETURNS_BOOLEAN_IND
public static final int MACRO_RETURNS_DOUBLE_IND
public static final int MACRO_RETURNS_INTEGER_IND
public static final int MAX_VALID_MACRO_RETURNS
public static final int METHOD_ANY_ARRAY
public static final int METHOD_NUMERIC_ARRAY
public static final int METHOD_ANY_BUILTIN
public static final int METHOD_NOT_RESERVED
public static final int METHOD_ARRAY_ALL
public static final int METHOD_ARRAY_ANY
public static final int METHOD_ARRAY_COUNT
public static final int METHOD_ARRAY_DIMEN
public static final int METHOD_ARRAY_IRANGE
public static final int METHOD_ARRAY_LOWER
public static final int METHOD_ARRAY_MAX
public static final int METHOD_ARRAY_MIN
public static final int METHOD_ARRAY_NEAR_EQUAL
public static final int METHOD_ARRAY_NON_DECR
public static final int METHOD_ARRAY_NON_INCR
public static final int METHOD_ARRAY_NONE
public static final int METHOD_ARRAY_RANGE
public static final int METHOD_ARRAY_SIZE
public static final int METHOD_ARRAY_STRIDE
public static final int METHOD_ARRAY_SUM
public static final int METHOD_ARRAY_UPPER
public static final int METHOD_IRANGE
public static final int METHOD_NEAR_EQUAL
public static final int METHOD_RANGE
public static final int MINIMUM_METHOD
public static final int MAXIMUM_ARRAY_METHOD
public static final int MAXIMUM_METHOD
public static final int METHOD_RELATION_NONE
public static final int METHOD_RELATION_LEFT
public static final int METHOD_RELATION_RIGHT
public static final int METHOD_RELATION_BOTH
public static final int RELATION_OP_EQUAL
public static final int RELATION_OP_NOT_EQUAL
public static final int RELATION_OP_LESS_THAN
public static final int RELATION_OP_LESS_EQUAL
public static final int RELATION_OP_GREATER_THAN
public static final int RELATION_OP_GREATER_EQUAL
Constructor Detail |
---|
public MethodCall(java.lang.String name, Context context) throws AssertionException
name
- The name of the method that is to be called.
AssertionException
- The exception raised if error during any validation.Method Detail |
---|
public java.lang.String getMethodName()
public boolean isStatic()
public boolean throwsExceptions()
public void addArgument(AssertionExpression arg)
arg
- An assertion expression as an argument to the method call.public java.util.ArrayList getArguments()
ArrayList
of argument expressions with each
element as a AssertionExpression
.
public boolean isArrayMethod()
public boolean isArrayMacroMethod()
public boolean isBuiltinNumericArrayMethod()
public boolean isBuiltinRelationMethod()
public boolean hasPure()
hasPure
in class AssertionExpression
public boolean hasResult()
hasResult
in class AssertionExpression
public boolean hasMethodCall()
hasMethodCall
in class AssertionExpression
public boolean hasReservedMethod(int type)
hasReservedMethod
in class AssertionExpression
public boolean hasUnreservedMethod(boolean any)
hasUnreservedMethod
in class AssertionExpression
public boolean requiresExtendableContext()
requiresExtendableContext
in class AssertionExpression
public boolean requiresMethodContext()
requiresMethodContext
in class AssertionExpression
public java.util.ArrayList getArgumentReturnTypes(Method meth)
ArrayList
is an
Integer
.
public boolean hasCompatibleArgumentTypes(java.util.ArrayList list) throws AssertionException
AssertionException
- The exception is raised if there is a problem with any of the
argument return types (e.g., return type not yet determined).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 the validation.public java.lang.String toString()
toString
in class AssertionExpression
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.Object accept(ExprVisitor ev, java.lang.Object data)
AssertionExpression
accept
in class AssertionExpression
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |