orc.ast.oil.expression
Class Call
java.lang.Object
orc.ast.oil.expression.Expression
orc.ast.oil.expression.Call
public class Call
- extends Expression
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
callee
public Argument callee
args
public java.util.List<Argument> args
typeArgs
public java.util.List<Type> typeArgs
isTailCall
public transient boolean isTailCall
Call
public Call(Argument callee,
java.util.List<Argument> args,
java.util.List<Type> typeArgs)
Call
public Call(Argument callee,
Argument arga,
Argument argb)
Call
public Call(Argument callee,
Argument arg)
Call
public Call(Argument callee)
hashCode
public int hashCode()
- Specified by:
hashCode
in class Expression
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in class Expression
addIndices
public void addIndices(java.util.Set<java.lang.Integer> indices,
int depth)
- Description copied from class:
Expression
- If this expression has any indices which are >= depth,
add (index - depth) to the index set accumulator. The depth
increases each time this method recurses through a binder.
The default implementation is to assume the expression
has no free variables, and thus do nothing. Expressions
which contain variables or subexpressions override this
behavior.
- Specified by:
addIndices
in class Expression
- Parameters:
indices
- The index set accumulator.depth
- The minimum index for a free variable.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
accept
public <E> E accept(Visitor<E> visitor)
- Specified by:
accept
in class Expression
findReturnType
public Type findReturnType(TypingContext ctx,
Type checkedType)
throws TypeException
- Throws:
TypeException
typesynth
public Type typesynth(TypingContext ctx)
throws TypeException
- Specified by:
typesynth
in class Expression
- Throws:
TypeException
typecheck
public void typecheck(TypingContext ctx,
Type T)
throws TypeException
- Overrides:
typecheck
in class Expression
- Throws:
TypeException
marshal
public Expression marshal()
throws CompilationException
- Specified by:
marshal
in class Expression
- Throws:
CompilationException
populateContinuations
public void populateContinuations()
- Specified by:
populateContinuations
in class Expression
enter
public void enter(Token t)
- Specified by:
enter
in class Expression