Uses of Class
net.hydromatic.morel.ast.Core.Pat
-
Packages that use Core.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 Core.Pat in net.hydromatic.morel.ast
Subclasses of Core.Pat in net.hydromatic.morel.ast Modifier and Type Class Description static classCore.AsPatLayered pattern.static classCore.Con0PatType constructor pattern with no argument.static classCore.ConPatType constructor pattern with an argument.static classCore.IdPatNamed pattern.static classCore.ListPatList pattern.static classCore.LiteralPatLiteral pattern, the pattern analog of theCore.Literalexpression.static classCore.NamedPatBase class for named patterns (Core.IdPatandCore.AsPat).static classCore.RecordPatRecord pattern.static classCore.TuplePatTuple pattern, the pattern analog of theCore.Tupleexpression.static classCore.WildcardPatWildcard pattern.Fields in net.hydromatic.morel.ast declared as Core.Pat Modifier and Type Field Description Core.PatCore.AsPat. patCore.PatCore.ConPat. patCore.PatCore.Match. patCore.PatCore.Scan. patFields in net.hydromatic.morel.ast with type parameters of type Core.Pat Modifier and Type Field Description List<Core.Pat>Core.ListPat. argsList<Core.Pat>Core.RecordPat. argsList<Core.Pat>Core.TuplePat. argsMethods in net.hydromatic.morel.ast that return Core.Pat Modifier and Type Method Description Core.PatCore.Con0Pat. accept(Shuttle shuttle)Core.PatCore.ConPat. accept(Shuttle shuttle)Core.PatCore.ListPat. accept(Shuttle shuttle)Core.PatCore.LiteralPat. accept(Shuttle shuttle)abstract Core.PatCore.Pat. accept(Shuttle shuttle)Core.PatCore.RecordPat. accept(Shuttle shuttle)Core.PatCore.TuplePat. accept(Shuttle shuttle)Core.PatCore.WildcardPat. accept(Shuttle shuttle)Core.PatCore.RecordPat. copy(TypeSystem typeSystem, Set<String> argNames, List<Core.Pat> args)Core.PatCoreBuilder. recordPat(TypeSystem typeSystem, Set<String> argNames, List<Core.Pat> args)protected Core.PatShuttle. visit(Core.Con0Pat con0Pat)protected Core.PatShuttle. visit(Core.ConPat conPat)protected Core.PatShuttle. visit(Core.ListPat listPat)protected Core.PatShuttle. visit(Core.LiteralPat literalPat)protected Core.PatShuttle. visit(Core.RecordPat recordPat)protected Core.PatShuttle. visit(Core.TuplePat tuplePat)protected Core.PatShuttle. visit(Core.WildcardPat wildcardPat)Methods in net.hydromatic.morel.ast with parameters of type Core.Pat Modifier and Type Method Description Core.AsPatCoreBuilder. asPat(Type type, String name, int i, Core.Pat pat)Core.AsPatCoreBuilder. asPat(Type type, String name, NameGenerator nameGenerator, Core.Pat pat)Creates an AsPat with a given name, generating an ordinal to distinguish it from other declarations with the same name elsewhere in the program.Core.ConPatCoreBuilder. conPat(Type type, String tyCon, Core.Pat pat)Core.ConPatCoreBuilder. consPat(Type type, String tyCon, Core.Pat pat)Core.AsPatCore.AsPat. copy(String name, int i, Core.Pat pat)Creates a copy of thisAsPatwith given contents, orthisif the contents are the same.Core.ConPatCore.ConPat. copy(String tyCon, Core.Pat pat)Creates a copy of thisConPatwith given contents, orthisif the contents are the same.Core.MatchCore.Match. copy(Core.Pat pat, Core.Exp exp)Core.ScanCore.Scan. copy(List<Binding> bindings, Core.Pat pat, Core.Exp exp, Core.Exp condition)Core.ListPatCoreBuilder. listPat(Type type, Core.Pat... args)Core.MatchCoreBuilder. match(Core.Pat pat, Core.Exp exp, Pos pos)Core.ScanCoreBuilder. scan(Op op, List<Binding> bindings, Core.Pat pat, Core.Exp exp, Core.Exp condition)FromBuilderFromBuilder. scan(Core.Pat pat, Core.Exp exp)FromBuilderFromBuilder. scan(Core.Pat pat, Core.Exp exp, Core.Exp condition)Core.TuplePatCoreBuilder. tuplePat(Type type, Core.Pat... args)Method parameters in net.hydromatic.morel.ast with type arguments of type Core.Pat Modifier and Type Method Description Core.ListPatCore.ListPat. copy(TypeSystem typeSystem, List<Core.Pat> args)Core.PatCore.RecordPat. copy(TypeSystem typeSystem, Set<String> argNames, List<Core.Pat> args)Core.TuplePatCore.TuplePat. copy(TypeSystem typeSystem, List<Core.Pat> args)Core.ListPatCoreBuilder. listPat(Type type, Iterable<? extends Core.Pat> args)Core.ListPatCoreBuilder. listPat(TypeSystem typeSystem, List<Core.Pat> args)Core.RecordPatCoreBuilder. recordPat(RecordType type, List<? extends Core.Pat> args)Core.PatCoreBuilder. recordPat(TypeSystem typeSystem, Set<String> argNames, List<Core.Pat> args)Core.TuplePatCoreBuilder. tuplePat(Type type, Iterable<? extends Core.Pat> args)Core.TuplePatCoreBuilder. tuplePat(TypeSystem typeSystem, List<Core.Pat> args)Constructors in net.hydromatic.morel.ast with parameters of type Core.Pat Constructor Description AsPat(Type type, String name, int i, Core.Pat pat)ConPat(Op op, Type type, String tyCon, Core.Pat pat)Mostly-private constructor.ConPat(Type type, String tyCon, Core.Pat pat)Match(Pos pos, Core.Pat pat, Core.Exp exp)Scan(Op op, com.google.common.collect.ImmutableList<Binding> bindings, Core.Pat pat, Core.Exp exp, Core.Exp condition)Constructor parameters in net.hydromatic.morel.ast with type arguments of type Core.Pat Constructor Description ListPat(Type type, com.google.common.collect.ImmutableList<Core.Pat> args)RecordPat(RecordType type, com.google.common.collect.ImmutableList<Core.Pat> args)TuplePat(Type type, com.google.common.collect.ImmutableList<Core.Pat> args) -
Uses of Core.Pat in net.hydromatic.morel.compile
Fields in net.hydromatic.morel.compile declared as Core.Pat Modifier and Type Field Description (package private) Core.PatResolver.PatExp. patFields in net.hydromatic.morel.compile with type parameters of type Core.Pat Modifier and Type Field Description private com.google.common.collect.ImmutableList<Pair<Core.Pat,Code>>Compiler.MatchCode. patCodesMethods in net.hydromatic.morel.compile that return Core.Pat Modifier and Type Method Description private Core.PatPatternCoverageChecker. listToCons(Core.ListPat listPat)Converts a list pattern into a pattern made up of theCONSandNILconstructors of the built-indatatype list.private Core.PatPatternCoverageChecker. listToConsRecurse(DataType listDataType, List<Core.Pat> args)private Core.PatResolver. toCore(Ast.Pat pat)private Core.PatResolver. toCore(Ast.Pat pat, Type targetType)private Core.PatResolver. toCore(Ast.Pat pat, Type type, Type targetType)Converts a pattern to Core.Methods in net.hydromatic.morel.compile that return types with arguments of type Core.Pat Modifier and Type Method Description private Pair<Core.Pat,Code>Compiler. compileMatch(Compiler.Context cx, Core.Match match)Methods in net.hydromatic.morel.compile with parameters of type Core.Pat Modifier and Type Method Description static voidCompiles. acceptBinding(TypeSystem typeSystem, Core.Pat pat, List<Binding> bindings)Visits a pattern, adding bindings to a list.(package private) static voidCompiles. bindPattern(TypeSystem typeSystem, List<Binding> bindings, Core.Pat pat)booleanPatternCoverageChecker. isCoveredBy(Core.Pat pat, List<Core.Pat> patList)Returns whether a pattern is covered by a list of patterns.(package private) static booleanPatternCoverageChecker. isCoveredBy(TypeSystem typeSystem, List<Core.Pat> prevPatList, Core.Pat pat)Returns whether every possible value that could be matched by patternpatwould already have been matched by one or more ofprevPatList.private voidCompiler. link(Map<Core.NamedPat,Compiler.LinkCode> linkCodes, Core.Pat pat, Code code)private voidCompiler. shredValue(Core.Pat pat, Object o, BiConsumer<Core.NamedPat,Object> consumer)private Sat.TermPatternCoverageChecker. toTerm(Core.Pat pat)Converts a pattern to a logical term.private voidPatternCoverageChecker. toTerm(Core.Pat pat, PatternCoverageChecker.Path path, List<Sat.Term> terms)Method parameters in net.hydromatic.morel.compile with type arguments of type Core.Pat Modifier and Type Method Description booleanPatternCoverageChecker. isCoveredBy(Core.Pat pat, List<Core.Pat> patList)Returns whether a pattern is covered by a list of patterns.(package private) static booleanPatternCoverageChecker. isCoveredBy(TypeSystem typeSystem, List<Core.Pat> prevPatList, Core.Pat pat)Returns whether every possible value that could be matched by patternpatwould already have been matched by one or more ofprevPatList.(package private) static booleanPatternCoverageChecker. isExhaustive(TypeSystem typeSystem, List<Core.Pat> patList)Returns whether a list of patterns covers every possible value.private Core.PatPatternCoverageChecker. listToConsRecurse(DataType listDataType, List<Core.Pat> args)Constructors in net.hydromatic.morel.compile with parameters of type Core.Pat Constructor Description PatExp(Core.Pat pat, Core.Exp exp, Pos pos)Constructor parameters in net.hydromatic.morel.compile with type arguments of type Core.Pat Constructor Description MatchCode(com.google.common.collect.ImmutableList<Pair<Core.Pat,Code>> patCodes, Pos pos) -
Uses of Core.Pat in net.hydromatic.morel.eval
Fields in net.hydromatic.morel.eval declared as Core.Pat Modifier and Type Field Description private Core.PatCodes.ScanRowSink. patprotected Core.PatEvalEnvs.PatSubEvalEnv. patFields in net.hydromatic.morel.eval with type parameters of type Core.Pat Modifier and Type Field Description private com.google.common.collect.ImmutableList<Pair<Core.Pat,Code>>Closure. patCodesA list of (pattern, code) pairs.Methods in net.hydromatic.morel.eval with parameters of type Core.Pat Modifier and Type Method Description default MutableEvalEnvEvalEnv. bindMutablePat(Core.Pat pat)Creates an evaluation environment that has the same content as this one, plus mutable slots for each name in a pattern.static booleanClosure. bindRecurse(Core.Pat pat, Object argValue, BiConsumer<Core.NamedPat,Object> envRef)Attempts to bind a value to a pattern.(package private) booleanEvalEnvs.MutablePatSubEvalEnv. bindRecurse(Core.Pat pat, Object argValue)static Codes.RowSinkCodes. scanRowSink(Op op, Core.Pat pat, Code code, Code conditionCode, Codes.RowSink rowSink)Creates aCodes.RowSinkfor ajoinclause.Constructors in net.hydromatic.morel.eval with parameters of type Core.Pat Constructor Description MutablePatSubEvalEnv(EvalEnv parentEnv, Core.Pat pat, List<String> names)PatSubEvalEnv(EvalEnv parentEnv, Core.Pat pat, com.google.common.collect.ImmutableList<String> names, Object[] values)ScanRowSink(Op op, Core.Pat pat, Code code, Code conditionCode, Codes.RowSink rowSink)Constructor parameters in net.hydromatic.morel.eval with type arguments of type Core.Pat Constructor Description Closure(EvalEnv evalEnv, com.google.common.collect.ImmutableList<Pair<Core.Pat,Code>> patCodes, Pos pos)Not a public API.
-