orc.ast.oil.visitor
Class TailCallMarker

java.lang.Object
  extended by orc.ast.oil.visitor.TailCallMarker
All Implemented Interfaces:
Visitor<java.lang.Void>

public class TailCallMarker
extends java.lang.Object
implements Visitor<java.lang.Void>

Mark all calls in tail call contexts in this expression.

Author:
dkitchin

Constructor Summary
TailCallMarker()
           
 
Method Summary
 java.lang.Void visit(Call expr)
           
 java.lang.Void visit(Catch catchExpr)
           
 java.lang.Void visit(Constant arg)
           
 java.lang.Void visit(DeclareDefs expr)
           
 java.lang.Void visit(DeclareType typeDecl)
           
 java.lang.Void visit(Field arg)
           
 java.lang.Void visit(HasType hasType)
           
 java.lang.Void visit(Otherwise expr)
           
 java.lang.Void visit(Parallel expr)
           
 java.lang.Void visit(Pruning expr)
           
 java.lang.Void visit(Sequential expr)
           
 java.lang.Void visit(Site arg)
           
 java.lang.Void visit(Stop expr)
           
 java.lang.Void visit(Throw expr)
           
 java.lang.Void visit(Variable arg)
           
 java.lang.Void visit(WithLocation expr)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TailCallMarker

public TailCallMarker()
Method Detail

visit

public java.lang.Void visit(Parallel expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Call expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(DeclareDefs expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Stop expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Pruning expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Sequential expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Otherwise expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(WithLocation expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Constant arg)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Field arg)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Site arg)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Variable arg)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(HasType hasType)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(DeclareType typeDecl)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Throw expr)
Specified by:
visit in interface Visitor<java.lang.Void>

visit

public java.lang.Void visit(Catch catchExpr)
Specified by:
visit in interface Visitor<java.lang.Void>