Uses of Interface
net.hydromatic.morel.compile.TypeResolver.TypeEnv
Packages that use TypeResolver.TypeEnv
Package
Description
Validates programs (represented as
AstNode),
deduces their type, and compiles them into code that can be evaluated.-
Uses of TypeResolver.TypeEnv in net.hydromatic.morel.compile
Classes in net.hydromatic.morel.compile that implement TypeResolver.TypeEnvModifier and TypeClassDescriptionprivate static classA type environment that consists of a type environment plus one binding.(package private) static enumEmpty type environment.private classType environment based on anEnvironment.Fields in net.hydromatic.morel.compile declared as TypeResolver.TypeEnvModifier and TypeFieldDescription(package private) final TypeResolver.TypeEnvTypeResolver.Triple.envprivate final TypeResolver.TypeEnvTypeResolver.BindTypeEnv.parentprivate final TypeResolver.TypeEnvTypeResolver.EnvironmentTypeEnv.parentprivate TypeResolver.TypeEnvTypeResolver.TypeEnvHolder.typeEnvMethods in net.hydromatic.morel.compile that return TypeResolver.TypeEnvModifier and TypeMethodDescriptiondefault TypeResolver.TypeEnvTypeResolver.TypeEnv.bind(String name, Binding.Kind kind, Function<TypeSystem, Unifier.Term> termFactory) default TypeResolver.TypeEnvTypeResolver.TypeEnv.bind(String name, Binding.Kind kind, Unifier.Term term) default TypeResolver.TypeEnvTypeResolver.TypeEnv.bind(String name, Unifier.Term term) private static TypeResolver.TypeEnvTypeResolver.bindAll(TypeResolver.TypeEnv env, PairList<Ast.IdPat, Unifier.Term> termMap) private TypeResolver.TypeEnvTypeResolver.BindTypeEnv.getAncestor()Returns the nearest ancestor of this environment that is not aTypeResolver.BindTypeEnv.Methods in net.hydromatic.morel.compile with parameters of type TypeResolver.TypeEnvModifier and TypeMethodDescriptionprivate static TypeResolver.TypeEnvTypeResolver.bindAll(TypeResolver.TypeEnv env, PairList<Ast.IdPat, Unifier.Term> termMap) private Ast.ExpTypeResolver.deduceApplyFnType(TypeResolver.TypeEnv env, Ast.Exp fn, Unifier.Variable vFn, Unifier.Variable vArg, Unifier.Variable vResult) Deduces the datatype of a function being applied to an argument.private Ast.ApplyTypeResolver.deduceApplyType(TypeResolver.TypeEnv env, Ast.Apply apply, Unifier.Variable v) private Ast.CaseTypeResolver.deduceCaseType(TypeResolver.TypeEnv env, Ast.Case case_, Unifier.Variable v) private Ast.DeclTypeResolver.deduceDataTypeDeclType(TypeResolver.TypeEnv env, Ast.DatatypeDecl datatypeDecl, PairList<Ast.IdPat, Unifier.Term> termMap) private Ast.DeclTypeResolver.deduceDeclType(TypeResolver.TypeEnv env, Ast.Decl node, PairList<Ast.IdPat, Unifier.Term> termMap) private TypeResolver.TripleTypeResolver.deduceGroupStepType(TypeResolver.TypeEnv env, Ast.Group group, TypeResolver.Triple p, PairList<Ast.Id, Unifier.Variable> fieldVars, List<Ast.FromStep> fromSteps) TypeResolver.deduceMatchListType(TypeResolver.TypeEnv env, List<Ast.Match> matchList, NavigableSet<String> labelNames, Unifier.Variable argVariable, Unifier.Variable resultVariable) private Ast.MatchTypeResolver.deduceMatchType(TypeResolver.TypeEnv env, Ast.Match match, BiConsumer<Ast.IdPat, Unifier.Term> termMap, Unifier.Variable argVariable, Unifier.Variable resultVariable) private Ast.DeclTypeResolver.deduceOverDeclType(TypeResolver.TypeEnv env, Ast.OverDecl overDecl, PairList<Ast.IdPat, Unifier.Term> termMap) private voidTypeResolver.deducePatType(TypeResolver.TypeEnv env, Ast.Pat pat, Consumer<TypeResolver.PatTerm> termMap, @Nullable NavigableSet<String> labelNames, Unifier.Variable v, UnaryOperator<Unifier.Term> accessor) Derives a type term for a pattern, collecting the names of pattern variables.private Ast.QueryTypeResolver.deduceQueryType(TypeResolver.TypeEnv env, Ast.Query query, Unifier.Variable v) private Ast.RecordSelectorTypeResolver.deduceRecordSelectorType(TypeResolver.TypeEnv env, Ast.RecordSelector recordSelector, Unifier.Variable vArg, Unifier.Variable vResult) private TypeResolver.TripleTypeResolver.deduceStepType(TypeResolver.TypeEnv env, Ast.FromStep step, TypeResolver.Triple p, PairList<Ast.Id, Unifier.Variable> fieldVars, List<Ast.FromStep> fromSteps) private Ast.ExpTypeResolver.deduceType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) private AstNodeTypeResolver.deduceValBindType(TypeResolver.TypeEnv env, Ast.ValBind valBind, PairList<Ast.IdPat, Unifier.Term> termMap, Unifier.Variable vPat) private Ast.DeclTypeResolver.deduceValDeclType(TypeResolver.TypeEnv env, Ast.ValDecl valDecl, PairList<Ast.IdPat, Unifier.Term> termMap) private Ast.ExpTypeResolver.deduceYieldType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) Deduces ayieldexpression's type.private @Nullable TypeTypeResolver.getType(TypeResolver.TypeEnv env, Ast.Exp exp) private Ast.ExpTypeResolver.infix(TypeResolver.TypeEnv env, Ast.InfixCall call, Unifier.Variable v) Registers an infix operator.private Ast.ExpTypeResolver.infix(TypeResolver.TypeEnv env, Ast.InfixCall call, Unifier.Variable v, Type type) Registers an infix operator whose type is a given type.(package private) static TypeResolver.TripleTypeResolver.Triple.of(TypeResolver.TypeEnv env, Unifier.Variable v, Unifier.Variable c) private Ast.PatTypeResolver.patTuple(TypeResolver.TypeEnv env, List<Ast.Pat> patList) Converts a list of patterns to a singleton pattern or tuple pattern.private Ast.ExpTypeResolver.prefix(TypeResolver.TypeEnv env, Ast.PrefixCall call, Unifier.Variable v) Registers a prefix operator.(package private) static TypeResolver.TripleTypeResolver.Triple.singleton(TypeResolver.TypeEnv env, Unifier.Variable v) Represents a singleton, not a collection.private Ast.ValBindTypeResolver.toValBind(TypeResolver.TypeEnv env, Ast.FunBind funBind) private Ast.ValDeclTypeResolver.toValDecl(TypeResolver.TypeEnv env, Ast.FunDecl funDecl) Converts a function declaration to a value declaration.(package private) TypeResolver.TripleTypeResolver.Triple.withEnv(TypeResolver.TypeEnv env) Constructors in net.hydromatic.morel.compile with parameters of type TypeResolver.TypeEnvModifierConstructorDescription(package private)BindTypeEnv(String definedName, Binding.Kind kind, Function<TypeSystem, Unifier.Term> termFactory, TypeResolver.TypeEnv parent) (package private)EnvironmentTypeEnv(Environment env, TypeResolver.TypeEnv parent) private(package private)TypeEnvHolder(TypeResolver.TypeEnv typeEnv)