orc.ast.oil.visitor
Class UnguardedRecursionChecker
java.lang.Object
orc.ast.oil.visitor.Walker
orc.ast.oil.visitor.UnguardedRecursionChecker
- All Implemented Interfaces:
- Visitor<java.lang.Void>
public class UnguardedRecursionChecker
- extends Walker
Check for unguarded recursion in function definitions.
TODO: check for unguarded mutual recursion as well.
- Author:
- quark
Methods inherited from class orc.ast.oil.visitor.Walker |
enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enterScope, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leaveScope, visit, visit, visit, visit, visit, visit, visit |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
check
public static void check(Expression expr)
throws CompilationException
- Throws:
CompilationException
visit
public java.lang.Void visit(DeclareDefs expr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Pruning expr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Sequential expr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Otherwise expr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Call expr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Variable arg)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(WithLocation expr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Throw throwExpr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker
visit
public java.lang.Void visit(Catch catchExpr)
- Specified by:
visit
in interface Visitor<java.lang.Void>
- Overrides:
visit
in class Walker