gnu.expr

Class FindTailCalls

public class FindTailCalls extends ExpWalker

Does setTailCall on ApplyExp's that are tail-calls. Also setCanRead, setCanCall, setCanWrite on Declarations and setCanRead, setCanCall on LambdaExp when appropriate.
Method Summary
static voidfindTailCalls(Expression exp, Compilation comp)
protected ExpressionwalkApplyExp(ApplyExp exp)
protected ExpressionwalkBeginExp(BeginExp exp)
protected ExpressionwalkClassExp(ClassExp exp)
voidwalkDecls(ScopeExp exp)
protected ExpressionwalkFluidLetExp(FluidLetExp exp)
protected ExpressionwalkIfExp(IfExp exp)
protected ExpressionwalkLambdaExp(LambdaExp exp)
protected ExpressionwalkLetExp(LetExp exp)
protected ExpressionwalkReferenceExp(ReferenceExp exp)
protected ExpressionwalkSetExp(SetExp exp)
protected ExpressionwalkSynchronizedExp(SynchronizedExp exp)
protected ExpressionwalkTryExp(TryExp exp)

Method Detail

findTailCalls

public static void findTailCalls(Expression exp, Compilation comp)

walkApplyExp

protected Expression walkApplyExp(ApplyExp exp)

walkBeginExp

protected Expression walkBeginExp(BeginExp exp)

walkClassExp

protected Expression walkClassExp(ClassExp exp)

walkDecls

public void walkDecls(ScopeExp exp)

walkFluidLetExp

protected Expression walkFluidLetExp(FluidLetExp exp)

walkIfExp

protected Expression walkIfExp(IfExp exp)

walkLambdaExp

protected Expression walkLambdaExp(LambdaExp exp)

walkLetExp

protected Expression walkLetExp(LetExp exp)

walkReferenceExp

protected Expression walkReferenceExp(ReferenceExp exp)

walkSetExp

protected Expression walkSetExp(SetExp exp)

walkSynchronizedExp

protected Expression walkSynchronizedExp(SynchronizedExp exp)

walkTryExp

protected Expression walkTryExp(TryExp exp)