Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
gov.llnl.babel.symbols.AssertionExpression
gov.llnl.babel.symbols.Literal
gov.llnl.babel.symbols.DComplexLiteral
public class DComplexLiteral
extends Literal
Field Summary |
Fields inherited from class gov.llnl.babel.symbols.AssertionExpression | |
ERROR_SEMANTIC_VALIDATION , d_context |
Constructor Summary | |
| |
| |
|
Method Summary | |
Object |
|
String |
|
ArrayList |
|
String |
|
DoubleLiteral |
|
Double |
|
int |
|
String |
|
DoubleLiteral |
|
Double |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
String |
|
protected void |
|
public DComplexLiteral(DoubleLiteral r, DoubleLiteral i, Context context) throws AssertionException
Create a new object. Assumption(s): 1) The double literals that make up the real and imaginary parts are already marked as valid. This is reasonable since all basic literals are assumed to be valid immediately after creation.
- Parameters:
r
- The real part of the number.i
- The imaginary part of the number.
- Throws:
AssertionException
- The exception raised if errors in any validation.
public DComplexLiteral(DoubleLiteral r, LongLiteral i, Context context) throws AssertionException
Create a new object. Assumption(s): 1) The double literal that makes up the real part and the long literal that makes up the imaginary part are already marked as valid. This is reasonable since all basic literals are assumed to be valid immediately after creation.
- Parameters:
r
- The double literal real part of the number.i
- The long literal imaginary part of the number.
- Throws:
AssertionException
- The exception raised if errors in any validation.
public DComplexLiteral(LongLiteral r, DoubleLiteral i, Context context) throws AssertionException
Create a new object. Assumption(s): 1) The long literal that makes up the real and the double literal that makes up the imaginary part are already marked as valid. This is reasonable since all basic literals are assumed to be valid immediately after creation.
- Parameters:
r
- The long literal real part of the number.i
- The double literal imaginary part of the number.
- Throws:
AssertionException
- The exception raised if errors in any validation.
public Object accept(ExprVisitor ev, Object data)
Implement the "visitor pattern".
- Overrides:
- accept in interface AssertionExpression
public String cExpression(String epvVar, int[] startInd)
Return the C version of the expression. ToDo...This is actually more involved if this is part of a unary or binary expression because the .real and .imaginary parts of a sidl_complex must be used instead of this. However, this should be okay for passing the literal to a method call.
- Overrides:
- cExpression in interface AssertionExpression
public ArrayList getArrayIterMacros(String epvVar, int[] startInd)
Return the list of array iteration macro messages, if any. Each message is a string where the first character indicates the return type associated with the iteration. The remaining characters will be the actual macro invocation.
- Overrides:
- getArrayIterMacros in interface AssertionExpression
public String getImaginaryImage()
Return the string image of the imaginary part of this object.
public DoubleLiteral getImaginaryLiteral()
Return the literal of the imaginary part of this object.
public Double getImaginaryValue()
Return the value of the imaginary part of this object.
public int getNumArrayIterMacrosByType(char type)
Returns the number of macros supported by this assertion of the specified type. Valid types are given in MethodCall.java.
- Overrides:
- getNumArrayIterMacrosByType in interface AssertionExpression
public String getRealImage()
Return the string image of the real part of this object.
public DoubleLiteral getRealLiteral()
Return the literal of the real part of this object.
public Double getRealValue()
Return the value of the real part of this object.
public boolean hasMethodCall()
Return TRUE if the expression is, or has, at least one method call; otherwise, return FALSE.
- Overrides:
- hasMethodCall in interface AssertionExpression
public boolean hasPure()
Return TRUE if the expression is, or has, a PURE clause; otherwise, return FALSE.
- Overrides:
- hasPure in interface AssertionExpression
public boolean hasReservedMethod(int type)
Return TRUE if the expression is, or has, the specified reserved method call; otherwise, return FALSE.
- Overrides:
- hasReservedMethod in interface AssertionExpression
public boolean hasResult()
Return TRUE if the expression contains RESULT; otherwise, return FALSE.
- Overrides:
- hasResult in interface AssertionExpression
public 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.
- Overrides:
- hasUnreservedMethod in interface AssertionExpression
public boolean requiresExtendableContext()
Return TRUE if extendable context is required to validate the expression; otherwise, return FALSE.
- Overrides:
- requiresExtendableContext in interface AssertionExpression
public boolean requiresMethodContext()
Return TRUE if method context is required to validate the expression; otherwise, return FALSE.
- Overrides:
- requiresMethodContext in interface AssertionExpression
public String toString()
Return the stringified version of the expression (in SIDL form).
- Overrides:
- toString in interface AssertionExpression
protected void validateSemantics(Extendable ext, Method m) throws AssertionException
Validate the expression semantics, if necessary, within the context of the extendable and optional method.
- Overrides:
- validateSemantics in interface AssertionExpression
- Parameters:
ext
- The interface or class that owns this expression.m
- The method that owns this expression.
- Throws:
AssertionException
- The exception that can be raised during any validation.