Uses of Class
net.hydromatic.morel.ast.Core.Pat
Packages that use Core.Pat
Package
Description
Abstract syntax tree.
Validates programs
(represented as
AstNode),
deduces their type,
and compiles them into code that can be evaluated.Evaluates expressions.
-
Uses of Core.Pat in net.hydromatic.morel.ast
Subclasses of Core.Pat in net.hydromatic.morel.astModifier and TypeClassDescriptionstatic classLayered pattern.static classType constructor pattern with no argument.static classType constructor pattern with an argument.static classNamed pattern.static classList pattern.static classLiteral pattern, the pattern analog of theCore.Literalexpression.static classBase class for named patterns (Core.IdPatandCore.AsPat).static classRecord pattern.static classTuple pattern, the pattern analog of theCore.Tupleexpression.static classWildcard pattern.Fields in net.hydromatic.morel.ast declared as Core.PatModifier and TypeFieldDescriptionfinal Core.PatCore.AsPat.patfinal Core.PatCore.ConPat.patfinal Core.PatCore.Match.patfinal Core.PatCore.Scan.patFields in net.hydromatic.morel.ast with type parameters of type Core.PatMethods in net.hydromatic.morel.ast that return Core.PatModifier and TypeMethodDescriptionabstract Core.Patprotected 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.PatModifier and TypeMethodDescriptionCoreBuilder.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.Creates a copy of thisAsPatwith given contents, orthisif the contents are the same.Creates a copy of thisConPatwith given contents, orthisif the contents are the same.Method parameters in net.hydromatic.morel.ast with type arguments of type Core.PatModifier and TypeMethodDescriptionCore.ListPat.copy(TypeSystem typeSystem, List<Core.Pat> args) Core.TuplePat.copy(TypeSystem typeSystem, List<Core.Pat> args) CoreBuilder.listPat(TypeSystem typeSystem, List<Core.Pat> args) CoreBuilder.recordPat(RecordType type, List<? extends Core.Pat> args) CoreBuilder.tuplePat(TypeSystem typeSystem, List<Core.Pat> args) Constructors in net.hydromatic.morel.ast with parameters of type Core.PatModifierConstructorDescriptionprotectedprotectedMostly-private constructor.(package private)(package private)(package private)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.PatModifierConstructorDescription(package private)(package private)RecordPat(RecordType type, com.google.common.collect.ImmutableList<Core.Pat> args) (package private) -
Uses of Core.Pat in net.hydromatic.morel.compile
Fields in net.hydromatic.morel.compile declared as Core.PatFields in net.hydromatic.morel.compile with type parameters of type Core.PatModifier and TypeFieldDescriptionprivate final ImmutablePairList<Core.Pat, Code> Compiler.MatchCode.patCodesMethods in net.hydromatic.morel.compile that return Core.PatModifier and TypeMethodDescriptionprivate 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.Patprivate Core.Patprivate Core.PatConverts a pattern to Core.Methods in net.hydromatic.morel.compile with parameters of type Core.PatModifier and TypeMethodDescriptionstatic 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) private voidCompiler.compileValDecl(Compiler.Context cx, Core.ValDecl valDecl, @Nullable Core.Pat skipPat, Set<Core.Exp> queriesToWrap, List<Code> matchCodes, List<Binding> bindings, List<Compiler.Action> actions) static Extents.AnalysisExtents.create(TypeSystem typeSystem, Core.Pat pat, SortedMap<Core.NamedPat, Core.Exp> boundPats, Core.Exp exp) private voidprivate static List<Core.IdPat> Converts a singleton id pattern "x" or tuple pattern "(x, y)" to a list of id patterns.static Core.ExpExtents.generator(TypeSystem typeSystem, Core.Pat pat, Core.Exp exp) Returns an expression that generates the extent of a pattern.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 static booleanReturns whether an expression corresponds exactly to a pattern.(package private) static SuchThatShuttle.PatMapprivate static voidSuchThatShuttle.PatMap.populate(Core.Pat pat, Core.Exp exp, com.google.common.collect.ImmutableMap.Builder<Core.NamedPat, Core.NamedPat> nameBuilder) private Core.Expprivate voidCompiler.shredValue(Core.Pat pat, Object o, BiConsumer<Core.NamedPat, Object> consumer) private Sat.TermConverts 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.PatModifier and TypeMethodDescriptionprivate voidCompiler.compileMatch(Compiler.Context cx, Core.Match match, BiConsumer<Core.Pat, Code> consumer) (package private) voidprivate voidExtents.Extent.g4(com.google.common.collect.Multimap<Core.Pat, Core.Exp> map, BuiltIn builtIn, Core.Exp arg0, Core.Exp arg1) 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.PatModifierConstructorDescription(package private)Extent(TypeSystem typeSystem, Core.Pat pat, SortedMap<Core.NamedPat, Core.Exp> boundPats) (package private)Constructor parameters in net.hydromatic.morel.compile with type arguments of type Core.PatModifierConstructorDescription(package private)MatchCode(ImmutablePairList<Core.Pat, Code> patCodes, Pos pos) -
Uses of Core.Pat in net.hydromatic.morel.eval
Fields in net.hydromatic.morel.eval declared as Core.PatModifier and TypeFieldDescriptionprivate final Core.PatCodes.ScanRowSink.patprotected final Core.PatEvalEnvs.PatSubEvalEnv.patFields in net.hydromatic.morel.eval with type parameters of type Core.PatModifier and TypeFieldDescriptionprivate final ImmutablePairList<Core.Pat, Code> Closure.patCodesA list of (pattern, code) pairs.Methods in net.hydromatic.morel.eval with parameters of type Core.PatModifier and TypeMethodDescriptiondefault 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.PatModifierConstructorDescription(package private)MutablePatSubEvalEnv(EvalEnv parentEnv, Core.Pat pat, List<String> names) (package private)PatSubEvalEnv(EvalEnv parentEnv, Core.Pat pat, com.google.common.collect.ImmutableList<String> names, Object[] values) (package private)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