public abstract class AndOr extends Expression
VOID_ASSIGNMENTS| Constructor and Description |
|---|
AndOr(Expression left,
Expression rite) |
| Modifier and Type | Method and Description |
|---|---|
Type |
checkedType()
This method returns the final unambiguously checked type of this expression.
|
abstract void |
compile(Compiler compiler)
This method compiles this expression in the context of the specified
Compiler.
|
Expression |
left() |
int |
numberOfSubexpressions()
Returns the number of subexpressions
|
Expression |
right() |
void |
setCheckedType()
This method sets the final unambiguously checked type of this expression, possibly
along with other final information that may be needed by the compiler for
generating code.
|
void |
setCheckedType(Type type)
This method sets the final unambiguously checked type of this expression to the
specified type.
|
Expression |
setSubexpression(int n,
Expression expression)
Returns this expression after setting its n-th subexpression to the specified
expression; if there is no subexpression at the given position, this throws a
NoSuchSubexpressionException
|
void |
setType(Type type)
This method forcibly sets this expression's type field, if it has one, to the
specified type.
|
Expression |
subexpression(int n)
Returns the n-th subexpression of this expression; if there is no subexpression
at the given position, this throws a NoSuchSubexpressionException
|
Type |
type()
This method returns the current type of this expression.
|
void |
typeCheck(TypeChecker typeChecker)
This method type-checks this expression in the context of the specified
TypeChecker.
|
Type |
typeRef()
This method returns this expression's undereferenced type field if it has one.
|
addType, addTypes, boxSort, containsFreeName, copy, enclosingScope, extent, getEnd, getStart, isConstant, isEquality, isFalse, isHiddenSlicing, isNull, isSelector, isSlicing, isTrue, isVoid, locationString, otherTypes, parameters, sanitizeNames, sanitizeSorts, setCheckedTypeLocked, setEnd, setExtent, setOtherTypes, setStart, shiftOffsets, shiftOffsets, sort, substitute, typeCheck, typeCheck, typeCheckLocked, typedCopypublic AndOr(Expression left, Expression rite)
public final Expression left()
public final Expression right()
public final int numberOfSubexpressions()
ExpressionnumberOfSubexpressions in class Expressionpublic final Expression subexpression(int n) throws NoSuchSubexpressionException
Expressionsubexpression in class ExpressionNoSuchSubexpressionExceptionpublic final Expression setSubexpression(int n, Expression expression) throws NoSuchSubexpressionException
ExpressionsetSubexpression in class ExpressionNoSuchSubexpressionExceptionpublic abstract void compile(Compiler compiler)
Expressioncompile in class Expressionpublic final void setType(Type type)
ExpressionsetType in class Expressionpublic final Type type()
Expressiontype in class Expressionpublic final Type typeRef()
ExpressiontypeRef in class Expressionpublic final Type checkedType()
ExpressioncheckedType in class Expressionpublic final void setCheckedType(Type type)
ExpressionsetCheckedType in class Expressionpublic final void setCheckedType()
ExpressionsetCheckedType in class Expressionpublic final void typeCheck(TypeChecker typeChecker) throws TypingErrorException
ExpressiontypeCheck in class ExpressionTypingErrorException