Uses of Class
net.hydromatic.morel.ast.Ast.Exp
Packages that use Ast.Exp
Package
Description
Abstract syntax tree.
Validates programs (represented as
AstNode),
deduces their type, and compiles them into code that can be evaluated.Utilities.
-
Uses of Ast.Exp in net.hydromatic.morel.ast
Subclasses of Ast.Exp in net.hydromatic.morel.astModifier and TypeClassDescriptionstatic classParse tree node of an expression annotated with a type.static classApplication of a function to its argument.static classCase expression.static classParse tree node of the "current" reference.static classExists expression.static classLambda expression.static classForall expression.static classFrom expression.static classParse tree node of an identifier.static class"If ... else" expression.static classCall to an infix operator.static class"Let" expression.static classList expression.static classParse tree node of a literal (constant).static classParse tree node of the "ordinal" reference.static classCall to a prefix operator.static classBase class for "from", "exists" or "forall" expression.static classRecord.static classParse tree node of a record selector.static classTuple.Fields in net.hydromatic.morel.ast declared as Ast.ExpModifier and TypeFieldDescriptionfinal Ast.ExpAst.PrefixCall.afinal Ast.ExpAst.InfixCall.a0final Ast.ExpAst.InfixCall.a1final Ast.ExpAst.Aggregate.aggregatefinal Ast.ExpAst.Apply.argfinal Ast.ExpAst.Aggregate.argumentfinal Ast.ExpAst.If.conditionfinal @Nullable Ast.ExpAst.Scan.conditionfinal Ast.ExpAst.AnnotatedExp.expfinal Ast.ExpAst.Case.expfinal Ast.ExpAst.FunMatch.expfinal Ast.ExpAst.Into.expfinal Ast.ExpAst.Let.expfinal Ast.ExpAst.Match.expfinal Ast.ExpAst.Order.expfinal Ast.ExpAst.Require.expfinal @Nullable Ast.ExpAst.Scan.expfinal Ast.ExpAst.Skip.expfinal Ast.ExpAst.Take.expfinal Ast.ExpAst.Through.expfinal Ast.ExpAst.ValBind.expfinal Ast.ExpAst.Where.expfinal Ast.ExpAst.Yield.expfinal Ast.ExpAst.Apply.fnfinal Ast.ExpAst.If.ifFalsefinal Ast.ExpAst.If.ifTruefinal @Nullable Ast.ExpAst.Record.withFields in net.hydromatic.morel.ast with type parameters of type Ast.ExpModifier and TypeFieldDescriptionAst.ListExp.argsAst.Record.argsfinal com.google.common.collect.ImmutableList<Ast.Exp> Ast.SetStep.argsAst.Tuple.argsfinal ImmutablePairList<Ast.Id, Ast.Exp> Ast.Group.groupExpsMethods in net.hydromatic.morel.ast that return Ast.ExpModifier and TypeMethodDescriptionabstract Ast.ExpWraps an expression to distinguish "from x = e" from "from x in e".AstBuilder.greaterThan(Ast.Exp a0, Ast.Exp a1) AstBuilder.greaterThanOrEqual(Ast.Exp a0, Ast.Exp a1) AstBuilder.ifThenElse(Pos pos, Ast.Exp condition, Ast.Exp ifTrue, Ast.Exp ifFalse) AstBuilder.lessThanOrEqual(Ast.Exp a0, Ast.Exp a1) private Ast.ExpReturns a reference to a built-in: either a name (e.g.protected Ast.ExpShuttle.visit(Ast.AnnotatedExp annotatedExp) protected Ast.Expprotected Ast.ExpShuttle.visit(Ast.Exists exists) protected Ast.ExpShuttle.visit(Ast.Forall forall) protected Ast.Expprotected Ast.Expprotected Ast.ExpShuttle.visit(Ast.InfixCall infixCall) protected Ast.ExpShuttle.visit(Ast.Literal literal) protected Ast.ExpShuttle.visit(Ast.PrefixCall prefixCall) protected Ast.ExpShuttle.visit(Ast.Record record) protected Ast.ExpShuttle.visit(Ast.RecordSelector recordSelector) protected Ast.ExpMethods in net.hydromatic.morel.ast that return types with arguments of type Ast.ExpMethods in net.hydromatic.morel.ast with parameters of type Ast.ExpModifier and TypeMethodDescriptionAstBuilder.annotatedExp(Pos pos, Ast.Exp expression, Ast.Type type) Creates a copy of thisAnnotatedExpwith given contents, orthisif the contents are the same.Creates a copy of thisIfwith given contents, orthisif the contents are the same.Creates a copy of thisInfixCallwith given contents, orthisif the contents are the same.Creates a copy of thisLetExpwith given contents, orthisif the contents are the same.Creates a copy of thisMatchwith given contents, orthisif the contents are the same.Creates a copy of thisValBindwith given contents, orthisif the contents are the same.Wraps an expression to distinguish "from x = e" from "from x in e".AstBuilder.funMatch(Pos pos, String name, Iterable<? extends Ast.Pat> patList, @Nullable Ast.Type returnType, Ast.Exp exp) AstBuilder.greaterThan(Ast.Exp a0, Ast.Exp a1) AstBuilder.greaterThanOrEqual(Ast.Exp a0, Ast.Exp a1) AstBuilder.ifThenElse(Pos pos, Ast.Exp condition, Ast.Exp ifTrue, Ast.Exp ifFalse) AstBuilder.implicitLabel(Ast.Exp exp) Returns an expression's implicit label, or throws.@Nullable StringAstBuilder.implicitLabelOpt(Ast.Exp exp) Returns the implicit label for when an expression occurs within a record, or null if no label can be deduced.private Ast.InfixCallCreates a call to an infix operator.AstBuilder.lessThanOrEqual(Ast.Exp a0, Ast.Exp a1) AstBuilder.prefixCall(Pos p, Op op, Ast.Exp a) Creates a call to a prefix operator.Method parameters in net.hydromatic.morel.ast with type arguments of type Ast.ExpModifier and TypeMethodDescriptionabstract Ast.SetStepvoidAst.Exp.forEachArg(ObjIntConsumer<Ast.Exp> action) voidAst.InfixCall.forEachArg(ObjIntConsumer<Ast.Exp> action) voidAst.ListExp.forEachArg(ObjIntConsumer<Ast.Exp> action) voidAst.PrefixCall.forEachArg(ObjIntConsumer<Ast.Exp> action) voidAst.Record.forEachArg(ObjIntConsumer<Ast.Exp> action) voidAst.Tuple.forEachArg(ObjIntConsumer<Ast.Exp> action) Constructors in net.hydromatic.morel.ast with parameters of type Ast.ExpModifierConstructorDescription(package private)(package private)AnnotatedExp(Pos pos, Ast.Exp exp, Ast.Type type) Creates a type annotation.(package private)(package private)(package private)FunMatch(Pos pos, String name, com.google.common.collect.ImmutableList<Ast.Pat> patList, @Nullable Ast.Type returnType, Ast.Exp exp) (package private)(package private)(package private)(package private)(package private)(package private)PrefixCall(Pos pos, Op op, Ast.Exp a) (package private)Record(Pos pos, @Nullable Ast.Exp with, com.google.common.collect.ImmutableSortedMap<String, Ast.Exp> args) (package private)(package private)(package private)(package private)(package private)(package private)(package private)(package private)Constructor parameters in net.hydromatic.morel.ast with type arguments of type Ast.ExpModifierConstructorDescription(package private)(package private)Group(Pos pos, Op op, ImmutablePairList<Ast.Id, Ast.Exp> groupExps, com.google.common.collect.ImmutableList<Ast.Aggregate> aggregates) (package private)(package private)(package private)Record(Pos pos, @Nullable Ast.Exp with, com.google.common.collect.ImmutableSortedMap<String, Ast.Exp> args) (package private)(package private)(package private) -
Uses of Ast.Exp in net.hydromatic.morel.compile
Methods in net.hydromatic.morel.compile that return Ast.ExpModifier and TypeMethodDescriptionprivate 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.ExpTypeResolver.deduceType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) private Ast.ExpTypeResolver.deduceYieldType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) Deduces ayieldexpression's type.TypeResolver.Resolved.exp()private static Ast.ExpConverts a list of variable names to a variable or tuple.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.private Ast.ExpTypeResolver.prefix(TypeResolver.TypeEnv env, Ast.PrefixCall call, Unifier.Variable v) Registers a prefix operator.Methods in net.hydromatic.morel.compile with parameters of type Ast.ExpModifier and TypeMethodDescriptionprivate 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.ExpTypeResolver.deduceType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) private Ast.ExpTypeResolver.deduceYieldType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v) Deduces ayieldexpression's type.private @Nullable TypedValueTypeResolver.FieldExpander.expandField(Environment env, Ast.Exp exp) (package private) static voidprivate Core.ExpResolver.flattenLet(List<Ast.Decl> decls, Ast.Exp exp) private @Nullable TypeTypeResolver.getType(TypeResolver.TypeEnv env, Ast.Exp exp) private Core.Expprivate Core.ExpResolver.toCoreFromEq(Ast.Exp exp) Translates "x" in "from e = x".private Core.ExpResolver.toCoreImplies(Ast.Exp a0, Ast.Exp a1) Translate "p implies q" as "(not p) orelse q".static Ast.ValDeclConvertsetoval = e.Method parameters in net.hydromatic.morel.compile with type arguments of type Ast.Exp -
Uses of Ast.Exp in net.hydromatic.morel.util
Methods in net.hydromatic.morel.util that return types with arguments of type Ast.ExpModifier and TypeMethodDescriptionCreates a folder that combines an expression with whatever follows using an infix operator.Methods in net.hydromatic.morel.util with parameters of type Ast.ExpModifier and TypeMethodDescriptionstatic voidAppends an element using "@".static voidAppends an element using "::".Creates a folder that combines an expression with whatever follows using an infix operator.Method parameters in net.hydromatic.morel.util with type arguments of type Ast.Exp