Uses of Class
net.hydromatic.morel.ast.Ast.Pat
-
Packages that use Ast.Pat Package Description net.hydromatic.morel.ast Abstract syntax tree.net.hydromatic.morel.compile Validates programs (represented asAstNode), deduces their type, and compiles them into code that can be evaluated.net.hydromatic.morel.eval Evaluates expressions. -
-
Uses of Ast.Pat in net.hydromatic.morel.ast
Subclasses of Ast.Pat in net.hydromatic.morel.ast Modifier and Type Class Description static classAst.AnnotatedPatPattern that is a pattern annotated with a type.static classAst.Con0PatType constructor pattern with no argument.static classAst.ConPatType constructor pattern with an argument.static classAst.IdPatNamed pattern, the pattern analog of theAst.Idexpression.static classAst.InfixPatPattern build from an infix operator applied to two patterns.static classAst.ListPatList pattern, the pattern analog of theAst.Listexpression.static classAst.LiteralPatLiteral pattern, the pattern analog of theAst.Literalexpression.static classAst.RecordPatRecord pattern.static classAst.TuplePatTuple pattern, the pattern analog of theAst.Tupleexpression.static classAst.WildcardPatWildcard pattern.Fields in net.hydromatic.morel.ast declared as Ast.Pat Modifier and Type Field Description Ast.PatAst.InfixPat. p0Ast.PatAst.InfixPat. p1Ast.PatAst.AnnotatedPat. patAst.PatAst.ConPat. patAst.PatAst.Match. patAst.PatAst.ValBind. patFields in net.hydromatic.morel.ast with type parameters of type Ast.Pat Modifier and Type Field Description java.util.List<Ast.Pat>Ast.ListPat. argsjava.util.Map<java.lang.String,Ast.Pat>Ast.RecordPat. argsjava.util.List<Ast.Pat>Ast.TuplePat. argsjava.util.List<Ast.Pat>Ast.FunMatch. patListMethods in net.hydromatic.morel.ast that return Ast.Pat Modifier and Type Method Description Ast.PatAst.AnnotatedPat. accept(Shuttle shuttle)Ast.PatAst.Con0Pat. accept(Shuttle shuttle)Ast.PatAst.ConPat. accept(Shuttle shuttle)Ast.PatAst.IdPat. accept(Shuttle shuttle)Ast.PatAst.InfixPat. accept(Shuttle shuttle)Ast.PatAst.ListPat. accept(Shuttle shuttle)Ast.PatAst.LiteralPat. accept(Shuttle shuttle)abstract Ast.PatAst.Pat. accept(Shuttle shuttle)Ast.PatAst.RecordPat. accept(Shuttle shuttle)Ast.PatAst.TuplePat. accept(Shuttle shuttle)Ast.PatAst.WildcardPat. accept(Shuttle shuttle)Ast.PatAstBuilder. annotatedPat(Pos pos, Ast.Pat pat, Ast.Type type)Ast.PatAstBuilder. consPat(Ast.Pat p0, Ast.Pat p1)Ast.PatAstBuilder. idPat(Pos pos, java.lang.String name)protected Ast.PatShuttle. visit(Ast.AnnotatedPat annotatedPat)Ast.PatShuttle. visit(Ast.Con0Pat con0Pat)protected Ast.PatShuttle. visit(Ast.IdPat idPat)protected Ast.PatShuttle. visit(Ast.InfixPat infixPat)protected Ast.PatShuttle. visit(Ast.ListPat listPat)protected Ast.PatShuttle. visit(Ast.LiteralPat literalPat)protected Ast.PatShuttle. visit(Ast.RecordPat recordPat)protected Ast.PatShuttle. visit(Ast.TuplePat tuplePat)protected Ast.PatShuttle. visit(Ast.WildcardPat wildcardPat)Methods in net.hydromatic.morel.ast with parameters of type Ast.Pat Modifier and Type Method Description Ast.PatAstBuilder. annotatedPat(Pos pos, Ast.Pat pat, Ast.Type type)Ast.ConPatAstBuilder. conPat(Pos pos, Ast.Id tyCon, Ast.Pat pat)Ast.PatAstBuilder. consPat(Ast.Pat p0, Ast.Pat p1)Ast.ValBindAst.ValBind. copy(boolean rec, Ast.Pat pat, Ast.Exp e)Creates a copy of thisValBindwith given contents, or this if the contents are the same.Ast.InfixPatAstBuilder. infixPat(Pos pos, Op op, Ast.Pat p0, Ast.Pat p1)Ast.ListPatAstBuilder. listPat(Pos pos, Ast.Pat... args)Ast.MatchAstBuilder. match(Pos pos, Ast.Pat pat, Ast.Exp e)Ast.TuplePatAstBuilder. tuplePat(Pos pos, Ast.Pat... args)Ast.ValBindAstBuilder. valBind(Pos pos, boolean rec, Ast.Pat pat, Ast.Exp e)Method parameters in net.hydromatic.morel.ast with type arguments of type Ast.Pat Modifier and Type Method Description voidAst.AnnotatedPat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)voidAst.ConPat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)voidAst.InfixPat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)voidAst.ListPat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)voidAst.Pat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)voidAst.RecordPat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)voidAst.TuplePat. forEachArg(java.util.function.ObjIntConsumer<Ast.Pat> action)Ast.FunMatchAstBuilder. funMatch(Pos pos, java.lang.String name, java.lang.Iterable<? extends Ast.Pat> patList, Ast.Exp e)Ast.ListPatAstBuilder. listPat(Pos pos, java.lang.Iterable<? extends Ast.Pat> args)Ast.RecordPatAstBuilder. recordPat(Pos pos, boolean ellipsis, java.util.Map<java.lang.String,? extends Ast.Pat> args)Ast.TuplePatAstBuilder. tuplePat(Pos pos, java.lang.Iterable<? extends Ast.Pat> args)voidAst.Pat. visit(java.util.function.Consumer<Ast.Pat> consumer)Constructors in net.hydromatic.morel.ast with parameters of type Ast.Pat Constructor Description AnnotatedPat(Pos pos, Ast.Pat pat, Ast.Type type)ConPat(Pos pos, Ast.Id tyCon, Ast.Pat pat)InfixPat(Pos pos, Op op, Ast.Pat p0, Ast.Pat p1)Match(Pos pos, Ast.Pat pat, Ast.Exp e)ValBind(Pos pos, boolean rec, Ast.Pat pat, Ast.Exp e)Constructor parameters in net.hydromatic.morel.ast with type arguments of type Ast.Pat Constructor Description FunMatch(Pos pos, java.lang.String name, com.google.common.collect.ImmutableList<Ast.Pat> patList, Ast.Exp e)ListPat(Pos pos, com.google.common.collect.ImmutableList<Ast.Pat> args)RecordPat(Pos pos, boolean ellipsis, com.google.common.collect.ImmutableMap<java.lang.String,Ast.Pat> args)TuplePat(Pos pos, com.google.common.collect.ImmutableList<Ast.Pat> args) -
Uses of Ast.Pat in net.hydromatic.morel.compile
Methods in net.hydromatic.morel.compile that return Ast.Pat Modifier and Type Method Description private Ast.PatTypeResolver. deducePatType(TypeResolver.TypeEnv env, Ast.Pat pat, java.util.Map<Ast.IdPat,Unifier.Term> termMap, java.util.NavigableSet<java.lang.String> labelNames, Unifier.Variable v)Derives a type term for a pattern, collecting the names of pattern variables.private Ast.PatCompiler. expandRecordPattern(Ast.Pat pat)Expands a pattern if it is a record pattern that has an ellipsis or if the arguments are not in the same order as the labels in the type.private Ast.PatTypeResolver. patTuple(TypeResolver.TypeEnv env, java.util.List<Ast.Pat> patList)Converts a list of patterns to a singleton pattern or tuple pattern.Methods in net.hydromatic.morel.compile with parameters of type Ast.Pat Modifier and Type Method Description private Ast.PatTypeResolver. deducePatType(TypeResolver.TypeEnv env, Ast.Pat pat, java.util.Map<Ast.IdPat,Unifier.Term> termMap, java.util.NavigableSet<java.lang.String> labelNames, Unifier.Variable v)Derives a type term for a pattern, collecting the names of pattern variables.private Ast.PatCompiler. expandRecordPattern(Ast.Pat pat)Expands a pattern if it is a record pattern that has an ellipsis or if the arguments are not in the same order as the labels in the type.private voidCompiler. flatten(java.util.Map<Ast.Pat,Ast.Exp> matches, Ast.Pat pat, Ast.Exp exp)private voidCompiler. link(java.util.Map<Ast.IdPat,Compiler.LinkCode> linkCodes, Ast.Pat pat, Code code)Method parameters in net.hydromatic.morel.compile with type arguments of type Ast.Pat Modifier and Type Method Description private voidCompiler. flatten(java.util.Map<Ast.Pat,Ast.Exp> matches, Ast.Pat pat, Ast.Exp exp)private Ast.PatTypeResolver. patTuple(TypeResolver.TypeEnv env, java.util.List<Ast.Pat> patList)Converts a list of patterns to a singleton pattern or tuple pattern. -
Uses of Ast.Pat in net.hydromatic.morel.eval
Fields in net.hydromatic.morel.eval with type parameters of type Ast.Pat Modifier and Type Field Description private com.google.common.collect.ImmutableList<Pair<Ast.Pat,Code>>Closure. patCodesA list of (pattern, code) pairs.Methods in net.hydromatic.morel.eval with parameters of type Ast.Pat Modifier and Type Method Description private booleanClosure. bindRecurse(Ast.Pat pat, EvalEnv[] envRef, java.lang.Object argValue)Constructor parameters in net.hydromatic.morel.eval with type arguments of type Ast.Pat Constructor Description Closure(EvalEnv evalEnv, com.google.common.collect.ImmutableList<Pair<Ast.Pat,Code>> patCodes)Not a public API.
-