Package net.hydromatic.morel.ast
Class Shuttle
- java.lang.Object
-
- net.hydromatic.morel.ast.Shuttle
-
- Direct Known Subclasses:
EnvShuttle
public class Shuttle extends Object
Visits and transforms syntax trees.
-
-
Field Summary
Fields Modifier and Type Field Description protected TypeSystemtypeSystem
-
Constructor Summary
Constructors Constructor Description Shuttle(TypeSystem typeSystem)Creates a Shuttle.
-
Method Summary
-
-
-
Field Detail
-
typeSystem
protected final TypeSystem typeSystem
-
-
Constructor Detail
-
Shuttle
public Shuttle(TypeSystem typeSystem)
Creates a Shuttle.
-
-
Method Detail
-
visitSortedMap
protected <K,E extends AstNode> SortedMap<K,E> visitSortedMap(SortedMap<K,E> nodes)
-
visit
protected Ast.Exp visit(Ast.Literal literal)
-
visit
protected Ast.Exp visit(Ast.AnnotatedExp annotatedExp)
-
visit
protected Ast.Exp visit(Ast.InfixCall infixCall)
-
visit
protected Ast.Exp visit(Ast.PrefixCall prefixCall)
-
visit
protected Ast.Pat visit(Ast.LiteralPat literalPat)
-
visit
protected Ast.Pat visit(Ast.WildcardPat wildcardPat)
-
visit
protected Ast.Pat visit(Ast.InfixPat infixPat)
-
visit
protected Ast.Pat visit(Ast.TuplePat tuplePat)
-
visit
protected Ast.Pat visit(Ast.ListPat listPat)
-
visit
protected Ast.Pat visit(Ast.RecordPat recordPat)
-
visit
protected Ast.Pat visit(Ast.AnnotatedPat annotatedPat)
-
visit
protected Ast.ConPat visit(Ast.ConPat conPat)
-
visit
protected Ast.Con0Pat visit(Ast.Con0Pat con0Pat)
-
visit
protected Ast.ListExp visit(Ast.ListExp list)
-
visit
protected Ast.Exp visit(Ast.Record record)
-
visit
protected Ast.Exp visit(Ast.RecordSelector recordSelector)
-
visit
protected Ast.Type visit(Ast.NamedType namedType)
-
visit
protected Ast.Decl visit(Ast.FunDecl funDecl)
-
visit
protected Ast.FunBind visit(Ast.FunBind funBind)
-
visit
protected Ast.FunMatch visit(Ast.FunMatch funMatch)
-
visit
protected Ast.ValDecl visit(Ast.ValDecl valDecl)
-
visit
protected Ast.ValBind visit(Ast.ValBind valBind)
-
visit
protected AstNode visit(Ast.OrderItem orderItem)
-
visit
protected AstNode visit(Ast.Compute compute)
-
visit
protected AstNode visit(Ast.Aggregate aggregate)
-
visit
protected Ast.DatatypeDecl visit(Ast.DatatypeDecl datatypeDecl)
-
visit
protected Ast.DatatypeBind visit(Ast.DatatypeBind datatypeBind)
-
visit
protected Ast.RecordType visit(Ast.RecordType recordType)
-
visit
protected Ast.Type visit(Ast.TupleType tupleType)
-
visit
protected Ast.Type visit(Ast.FunctionType functionType)
-
visit
protected Ast.Type visit(Ast.CompositeType compositeType)
-
visit
protected Core.Exp visit(Core.Apply apply)
-
visit
protected Core.RecordSelector visit(Core.RecordSelector recordSelector)
-
visit
protected Core.Exp visit(Core.Literal literal)
-
visit
protected Core.Exp visit(Core.Tuple tuple)
-
visit
protected Core.Exp visit(Core.Local local)
-
visit
protected Core.DatatypeDecl visit(Core.DatatypeDecl datatypeDecl)
-
visit
protected Core.NonRecValDecl visit(Core.NonRecValDecl valDecl)
-
visit
protected Core.RecValDecl visit(Core.RecValDecl valDecl)
-
visit
protected Core.IdPat visit(Core.IdPat idPat)
-
visit
protected Core.AsPat visit(Core.AsPat asPat)
-
visit
protected Core.Pat visit(Core.LiteralPat literalPat)
-
visit
protected Core.Pat visit(Core.WildcardPat wildcardPat)
-
visit
protected Core.Pat visit(Core.ConPat conPat)
-
visit
protected Core.Pat visit(Core.Con0Pat con0Pat)
-
visit
protected Core.Pat visit(Core.TuplePat tuplePat)
-
visit
protected Core.Pat visit(Core.ListPat listPat)
-
visit
protected Core.Pat visit(Core.RecordPat recordPat)
-
visit
protected Core.Match visit(Core.Match match)
-
visit
protected Core.Where visit(Core.Where where)
-
visit
protected Core.Group visit(Core.Group group)
-
visit
protected Core.Aggregate visit(Core.Aggregate aggregate)
-
visit
protected Core.Order visit(Core.Order order)
-
visit
protected Core.OrderItem visit(Core.OrderItem orderItem)
-
visit
protected Core.Yield visit(Core.Yield yield)
-
-