Package net.hydromatic.morel.compile
Class EnvVisitor
- java.lang.Object
-
- net.hydromatic.morel.ast.Visitor
-
- net.hydromatic.morel.compile.EnvVisitor
-
- Direct Known Subclasses:
Analyzer,RefChecker,Resolver.ReferenceFinder
abstract class EnvVisitor extends Visitor
Shuttle that keeps an environment of what variables are in scope.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEnvVisitor.FromContextWhere we are in an iteration through the steps of afrom.
-
Field Summary
Fields Modifier and Type Field Description (package private) Environmentenv(package private) Deque<EnvVisitor.FromContext>fromStack(package private) TypeSystemtypeSystem
-
Constructor Summary
Constructors Modifier Constructor Description protectedEnvVisitor(TypeSystem typeSystem, Environment env, Deque<EnvVisitor.FromContext> fromStack)Creates an EnvVisitor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract EnvVisitorbind(List<Binding> bindingList)Creates a shuttle the same as this but with overriding bindings.protected abstract EnvVisitorbind(Binding binding)Creates a shuttle the same as this but overriding a binding.protected voidvisit(Core.Aggregate aggregate)protected voidvisit(Core.Fn fn)protected voidvisit(Core.From from)protected voidvisit(Core.Let let)protected voidvisit(Core.Local local)protected voidvisit(Core.Match match)protected voidvisit(Core.RecValDecl recValDecl)voidvisitStep(Core.FromStep step, List<Binding> bindings)-
Methods inherited from class net.hydromatic.morel.ast.Visitor
accept, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
-
-
-
Field Detail
-
typeSystem
final TypeSystem typeSystem
-
env
final Environment env
-
fromStack
final Deque<EnvVisitor.FromContext> fromStack
-
-
Constructor Detail
-
EnvVisitor
protected EnvVisitor(TypeSystem typeSystem, Environment env, Deque<EnvVisitor.FromContext> fromStack)
Creates an EnvVisitor.
-
-
Method Detail
-
bind
protected abstract EnvVisitor bind(Binding binding)
Creates a shuttle the same as this but overriding a binding.
-
bind
protected abstract EnvVisitor bind(List<Binding> bindingList)
Creates a shuttle the same as this but with overriding bindings.
-
visit
protected void visit(Core.Match match)
-
visit
protected void visit(Core.Local local)
-
visit
protected void visit(Core.RecValDecl recValDecl)
-
visitStep
public void visitStep(Core.FromStep step, List<Binding> bindings)
-
visit
protected void visit(Core.Aggregate aggregate)
-
-