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.Creates an unbounded scan, "from pat".Creates a bounded scan, "from pat in exp".CoreBuilder.tuplePat(RecordLikeType type, Core.Pat... args) 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(RecordLikeType type, Iterable<? 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(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)TuplePat(RecordLikeType type, com.google.common.collect.ImmutableList<Core.Pat> args) Creates a TuplePat. -
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 TypeFieldDescriptionExtents.ExtentMap.mapprivate final ImmutablePairList<Core.Pat, Code> Compiler.MatchCode.patCodes(package private) final PairList<Set<Core.Pat>, Consumer<FromBuilder>> SuchThatShuttle.DeferredStepList.stepsMethods 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 that return types with arguments of type Core.PatModifier and TypeMethodDescriptionSuchThatShuttle.DeferredStepList.unresolvedRefs(Environment env, Core.Exp exp) 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) (package private) booleanprivate 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, Iterable<? extends Core.FromStep> followingSteps, PairList<Core.IdPat, Core.Exp> idPats) Analyzes the extent of a pattern in an expression and creates anExtents.Analysis.private static List<Core.IdPat> Converts a singleton id pattern "x" or tuple pattern "(x, y)" to a list of id patterns.Extents.ExtentMap.get(TypeSystem typeSystem, Core.Pat pat) Extents.ExtentMap.get_(TypeSystem typeSystem, Core.Pat pat) Constructs an expression for 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) (package private) voidMarks that a pattern has now been defined.(package private) voidSuchThatShuttle.DeferredStepList.scan(Environment env, Core.Pat pat, Core.Exp exp) (package private) voidSuchThatShuttle.DeferredStepList.scan(Environment env, Core.Pat pat, Core.Exp exp, Core.Exp condition) 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(BuiltIn builtIn, Core.Exp arg0, Core.Exp arg1, Extents.TriConsumer<Core.Pat, Core.Exp, Core.Exp> consumer) private voidExtents.Extent.g5(BuiltIn builtIn, Core.Exp arg0, Core.Exp arg1, Extents.TriConsumer<Core.Pat, Core.Exp, Core.Exp> consumer) 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, PairList<Core.IdPat, Core.Exp> idPats) (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