Class ArithmeticExpression
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Expression
-
- gw.internal.gosu.parser.expressions.ArithmeticExpression
-
- All Implemented Interfaces:
IArithmeticExpression
,IOverridableOperation
,IExpression
,IHasType
,IParsedElement
- Direct Known Subclasses:
AdditiveExpression
,BitshiftExpression
,BitwiseAndExpression
,BitwiseOrExpression
,BitwiseXorExpression
,MultiplicativeExpression
public abstract class ArithmeticExpression extends Expression implements IArithmeticExpression
The base class for arithmetic expressions with binary operators e.g., + - * / %. Models arithmetic expressions by encapsulating the left and right hand side operands.
-
-
Field Summary
Fields Modifier and Type Field Description protected Expression
_lhs
An expression for the operand on the left-hand-side of the operator.protected Expression
_rhs
An expression for the operand on the right-hand-side of the operator.-
Fields inherited from class gw.internal.gosu.parser.Expression
_type
-
Fields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE
-
Fields inherited from interface gw.lang.parser.IExpression
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description ArithmeticExpression()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
getLHS()
String
getOperator()
IMethodInfo
getOverride()
Expression
getRHS()
boolean
isCompileTimeConstant()
boolean
isNullSafe()
boolean
isUnchecked()
void
setLHS(Expression e)
void
setOperator(String strOperator)
void
setOverride(IMethodInfo overrideMi)
void
setRHS(Expression e)
String
toString()
Subclasses should return a String representing the parsed expression.-
Methods inherited from class gw.internal.gosu.parser.Expression
evaluate, evaluate, getContextType, getReturnType, getType, getTypeImpl, setType
-
Methods inherited from class gw.internal.gosu.parser.ParsedElement
addExceptionsFrom, addParseException, addParseException, addParseException, addParseExceptions, addParseIssues, addParseWarning, addParseWarning, addParseWarnings, addToken, adjustColumn, adjustLineNum, assignTokens, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, compactParseTree, findAncestorParsedElementByType, findDeclaringStatement, findLineNumberOfDeclaration, findRootParsedElement, getAnnotations, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getEnclosingFeatureInfo, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getQualifyingEnclosingTypeInfo, getTokens, hasImmediateParseIssue, hasImmediateParseWarning, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, initEmptyParseTree, initLocation, isSuppressed, isSuppressed, isSynthetic, makeDoubleValue, makeFloatValue, makeInteger, makeLong, removeParseException, removeParseWarning, removeParseWarningRecursively, setGosuProgram, setLineNum, setLocation, setParent, setSynthetic, shouldClearParseInfo, visit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IExpression
evaluate, evaluate, getContextType
-
Methods inherited from interface gw.lang.parser.IParsedElement
addExceptionsFrom, addParseException, addParseException, addParseWarning, addParseWarning, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, findAncestorParsedElementByType, findDeclaringStatement, findRootParsedElement, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getReturnType, getTokens, hasImmediateParseIssue, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, isSuppressed, isSynthetic, setLocation, setParent, visit
-
-
-
-
Field Detail
-
_lhs
protected Expression _lhs
An expression for the operand on the left-hand-side of the operator.
-
_rhs
protected Expression _rhs
An expression for the operand on the right-hand-side of the operator.
-
-
Method Detail
-
getLHS
public Expression getLHS()
- Specified by:
getLHS
in interfaceIArithmeticExpression
- Returns:
- The expression for the left-hand-side operand.
-
setLHS
public void setLHS(Expression e)
-
getRHS
public Expression getRHS()
- Specified by:
getRHS
in interfaceIArithmeticExpression
- Returns:
- The expression for the right-hand-side operand.
-
setRHS
public void setRHS(Expression e)
-
getOperator
public String getOperator()
- Specified by:
getOperator
in interfaceIArithmeticExpression
-
setOperator
public void setOperator(String strOperator)
-
getOverride
public IMethodInfo getOverride()
- Specified by:
getOverride
in interfaceIOverridableOperation
-
setOverride
public void setOverride(IMethodInfo overrideMi)
- Specified by:
setOverride
in interfaceIOverridableOperation
-
isNullSafe
public boolean isNullSafe()
- Specified by:
isNullSafe
in interfaceIExpression
- Overrides:
isNullSafe
in classExpression
-
isUnchecked
public boolean isUnchecked()
- Specified by:
isUnchecked
in interfaceIExpression
- Overrides:
isUnchecked
in classExpression
-
isCompileTimeConstant
public boolean isCompileTimeConstant()
- Specified by:
isCompileTimeConstant
in interfaceIParsedElement
- Overrides:
isCompileTimeConstant
in classParsedElement
-
toString
public String toString()
Description copied from class:Expression
Subclasses should return a String representing the parsed expression.- Specified by:
toString
in classExpression
-
-