Uses of Class
net.hydromatic.morel.ast.Ast.Exp
-
Packages that use Ast.Exp 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.util Utilities. -
-
Uses of Ast.Exp in net.hydromatic.morel.ast
Subclasses of Ast.Exp in net.hydromatic.morel.ast Modifier and Type Class Description static classAst.AnnotatedExpParse tree node of an expression annotated with a type.static classAst.ApplyApplication of a function to its argument.static classAst.CaseCase expression.static classAst.FnLambda expression.static classAst.FromFrom expression.static classAst.IdParse tree node of an identifier.static classAst.If"If ...static classAst.InfixCallCall to an infix operator.static classAst.Let"Let" expression.static classAst.ListExpList expression.static classAst.LiteralParse tree node of a literal (constant).static classAst.PrefixCallCall to a prefix operator.static classAst.RecordRecord.static classAst.RecordSelectorParse tree node of a record selector.static classAst.TupleTuple.Fields in net.hydromatic.morel.ast declared as Ast.Exp Modifier and Type Field Description Ast.ExpAst.PrefixCall. aAst.ExpAst.InfixCall. a0Ast.ExpAst.InfixCall. a1Ast.ExpAst.Aggregate. aggregateAst.ExpAst.Apply. argAst.ExpAst.Aggregate. argumentAst.ExpAst.If. condition@Nullable Ast.ExpAst.Scan. conditionAst.ExpAst.AnnotatedExp. expAst.ExpAst.Case. expAst.ExpAst.FunMatch. expAst.ExpAst.Let. expAst.ExpAst.Match. expAst.ExpAst.OrderItem. expAst.ExpAst.Scan. expAst.ExpAst.ValBind. expAst.ExpAst.Where. expAst.ExpAst.Yield. expAst.ExpAst.Apply. fnAst.ExpAst.If. ifFalseAst.ExpAst.If. ifTrue@Nullable Ast.ExpAst.From. implicitYieldExpFields in net.hydromatic.morel.ast with type parameters of type Ast.Exp Modifier and Type Field Description List<Ast.Exp>Ast.ListExp. argsSortedMap<String,Ast.Exp>Ast.Record. argsList<Ast.Exp>Ast.Tuple. argscom.google.common.collect.ImmutableList<Pair<Ast.Id,Ast.Exp>>Ast.Group. groupExpsMethods in net.hydromatic.morel.ast that return Ast.Exp Modifier and Type Method Description Ast.ExpAst.AnnotatedExp. accept(Shuttle shuttle)Ast.ExpAst.Apply. accept(Shuttle shuttle)Ast.ExpAst.Case. accept(Shuttle shuttle)abstract Ast.ExpAst.Exp. accept(Shuttle shuttle)Ast.ExpAst.From. accept(Shuttle shuttle)Ast.ExpAst.If. accept(Shuttle shuttle)Ast.ExpAst.InfixCall. accept(Shuttle shuttle)Ast.ExpAst.Let. accept(Shuttle shuttle)Ast.ExpAst.Literal. accept(Shuttle shuttle)Ast.ExpAst.PrefixCall. accept(Shuttle shuttle)Ast.ExpAst.Record. accept(Shuttle shuttle)Ast.ExpAst.RecordSelector. accept(Shuttle shuttle)Ast.ExpAst.Tuple. accept(Shuttle shuttle)Ast.ExpAstBuilder. andAlso(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. annotatedExp(Pos pos, Ast.Exp expression, Ast.Type type)Ast.ExpAstBuilder. caret(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. cons(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. div(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. divide(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. elem(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. equal(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. except(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. foldCons(List<Ast.Exp> list)Ast.ExpAstBuilder. fromEq(Ast.Exp exp)Wraps an expression to distinguish "from x = e" from "from x in e".Ast.ExpAstBuilder. greaterThan(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. greaterThanOrEqual(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. ifThenElse(Pos pos, Ast.Exp condition, Ast.Exp ifTrue, Ast.Exp ifFalse)(package private) static @Nullable Ast.ExpAst.From. implicitYieldExp(Pos pos, List<Ast.FromStep> steps)Ast.ExpAstBuilder. infixCall(Pos pos, Op op, Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. intersect(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. lessThan(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. lessThanOrEqual(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. map(Pos pos, Ast.Exp e1, Ast.Exp e2)Ast.ExpAstBuilder. minus(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. mod(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. negate(Pos p, Ast.Exp a)Ast.ExpAstBuilder. notElem(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. notEqual(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. o(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. orElse(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. plus(Ast.Exp a0, Ast.Exp a1)private Ast.ExpAstBuilder. ref(Pos pos, BuiltIn builtIn)Returns a reference to a built-in: either a name (e.g.Ast.ExpAstBuilder. times(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. union(Ast.Exp a0, Ast.Exp a1)protected Ast.ExpShuttle. visit(Ast.AnnotatedExp annotatedExp)protected Ast.ExpShuttle. visit(Ast.Case caseOf)protected Ast.ExpShuttle. visit(Ast.From from)protected Ast.ExpShuttle. visit(Ast.If ifThenElse)protected 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.ExpShuttle. visit(Ast.Tuple tuple)Methods in net.hydromatic.morel.ast that return types with arguments of type Ast.Exp Modifier and Type Method Description List<Ast.Exp>Ast.Exp. args()Returns a list of all arguments.Methods in net.hydromatic.morel.ast with parameters of type Ast.Exp Modifier and Type Method Description Ast.AggregateAstBuilder. aggregate(Pos pos, Ast.Exp aggregate, Ast.Exp argument, Ast.Id id)Ast.ExpAstBuilder. andAlso(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. annotatedExp(Pos pos, Ast.Exp expression, Ast.Type type)Ast.ApplyAstBuilder. apply(Ast.Exp fn, Ast.Exp arg)Ast.ExpAstBuilder. caret(Ast.Exp a0, Ast.Exp a1)Ast.CaseAstBuilder. caseOf(Pos pos, Ast.Exp exp, Iterable<? extends Ast.Match> matchList)Ast.ExpAstBuilder. cons(Ast.Exp a0, Ast.Exp a1)Ast.AggregateAst.Aggregate. copy(Ast.Exp aggregate, Ast.Exp argument, Ast.Id id)Ast.ApplyAst.Apply. copy(Ast.Exp fn, Ast.Exp arg)Ast.CaseAst.Case. copy(Ast.Exp exp, List<Ast.Match> matchList)Ast.FromAst.From. copy(List<Ast.FromStep> steps, @Nullable Ast.Exp implicitYieldExp)Creates a copy of thisFromwith given contents, orthisif the contents are the same.Ast.IfAst.If. copy(Ast.Exp condition, Ast.Exp ifTrue, Ast.Exp ifFalse)Creates a copy of thisIfwith given contents, orthisif the contents are the same.Ast.InfixCallAst.InfixCall. copy(Ast.Exp a0, Ast.Exp a1)Creates a copy of thisInfixCallwith given contents, orthisif the contents are the same.Ast.LetAst.Let. copy(Iterable<Ast.Decl> decls, Ast.Exp exp)Creates a copy of thisLetExpwith given contents, orthisif the contents are the same.Ast.MatchAst.Match. copy(Ast.Pat pat, Ast.Exp exp)Creates a copy of thisMatchwith given contents, orthisif the contents are the same.Ast.OrderItemAst.OrderItem. copy(Ast.Exp exp, Ast.Direction direction)Ast.ScanAst.Scan. copy(Ast.Pat pat, Ast.Exp exp, Ast.Exp condition)Ast.ValBindAst.ValBind. copy(Ast.Pat pat, Ast.Exp exp)Creates a copy of thisValBindwith given contents, orthisif the contents are the same.Ast.WhereAst.Where. copy(Ast.Exp exp)Ast.YieldAst.Yield. copy(Ast.Exp exp)Ast.ExpAstBuilder. div(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. divide(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. elem(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. equal(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. except(Ast.Exp a0, Ast.Exp a1)Ast.FromAstBuilder. from(Pos pos, List<Ast.FromStep> steps, Ast.Exp implicitYieldExp)Ast.ExpAstBuilder. fromEq(Ast.Exp exp)Wraps an expression to distinguish "from x = e" from "from x in e".Ast.FunMatchAstBuilder. funMatch(Pos pos, String name, Iterable<? extends Ast.Pat> patList, Ast.Type returnType, Ast.Exp exp)Ast.ExpAstBuilder. greaterThan(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. greaterThanOrEqual(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. ifThenElse(Pos pos, Ast.Exp condition, Ast.Exp ifTrue, Ast.Exp ifFalse)StringAstBuilder. implicitLabel(Ast.Exp exp)private Ast.InfixCallAstBuilder. infix(Op op, Ast.Exp a0, Ast.Exp a1)Creates a call to an infix operator.Ast.ExpAstBuilder. infixCall(Pos pos, Op op, Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. intersect(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. lessThan(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. lessThanOrEqual(Ast.Exp a0, Ast.Exp a1)Ast.LetAstBuilder. let(Pos pos, Iterable<? extends Ast.Decl> decls, Ast.Exp exp)Ast.ExpAstBuilder. map(Pos pos, Ast.Exp e1, Ast.Exp e2)Ast.MatchAstBuilder. match(Pos pos, Ast.Pat pat, Ast.Exp exp)Ast.ExpAstBuilder. minus(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. mod(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. negate(Pos p, Ast.Exp a)Ast.ExpAstBuilder. notElem(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. notEqual(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. o(Ast.Exp a0, Ast.Exp a1)Ast.OrderItemAstBuilder. orderItem(Pos pos, Ast.Exp exp, Ast.Direction direction)Ast.ExpAstBuilder. orElse(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. plus(Ast.Exp a0, Ast.Exp a1)Ast.PrefixCallAstBuilder. prefixCall(Pos p, Op op, Ast.Exp a)Creates a call to a prefix operator.Ast.ScanAstBuilder. scan(Pos pos, Op op, Ast.Pat pat, Ast.Exp exp, Ast.Exp condition)Ast.ExpAstBuilder. times(Ast.Exp a0, Ast.Exp a1)Ast.ExpAstBuilder. union(Ast.Exp a0, Ast.Exp a1)Ast.ValBindAstBuilder. valBind(Pos pos, Ast.Pat pat, Ast.Exp exp)Ast.FromStepAstBuilder. where(Pos pos, Ast.Exp exp)Ast.FromStepAstBuilder. yield(Pos pos, Ast.Exp exp)Method parameters in net.hydromatic.morel.ast with type arguments of type Ast.Exp Modifier and Type Method Description Ast.GroupAst.Group. copy(List<Pair<Ast.Id,Ast.Exp>> groupExps, List<Ast.Aggregate> aggregates)Ast.ListExpAst.ListExp. copy(List<Ast.Exp> args)Ast.RecordAst.Record. copy(Map<String,Ast.Exp> args)Ast.TupleAst.Tuple. copy(List<Ast.Exp> args)Ast.ExpAstBuilder. foldCons(List<Ast.Exp> list)voidAst.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)Ast.GroupAstBuilder. group(Pos pos, List<Pair<Ast.Id,Ast.Exp>> groupExps, List<Ast.Aggregate> aggregates)Ast.ListExpAstBuilder. list(Pos pos, Iterable<? extends Ast.Exp> list)Ast.RecordAstBuilder. record(Pos pos, Map<String,Ast.Exp> map)Ast.TupleAstBuilder. tuple(Pos pos, Iterable<? extends Ast.Exp> list)Constructors in net.hydromatic.morel.ast with parameters of type Ast.Exp Constructor Description Aggregate(Pos pos, Ast.Exp aggregate, @Nullable Ast.Exp argument, Ast.Id id)AnnotatedExp(Pos pos, Ast.Exp exp, Ast.Type type)Creates a type annotation.Apply(Pos pos, Ast.Exp fn, Ast.Exp arg)Case(Pos pos, Ast.Exp exp, com.google.common.collect.ImmutableList<Ast.Match> matchList)From(Pos pos, com.google.common.collect.ImmutableList<Ast.FromStep> steps, @Nullable Ast.Exp implicitYieldExp)FunMatch(Pos pos, String name, com.google.common.collect.ImmutableList<Ast.Pat> patList, @Nullable Ast.Type returnType, Ast.Exp exp)If(Pos pos, Ast.Exp condition, Ast.Exp ifTrue, Ast.Exp ifFalse)InfixCall(Pos pos, Op op, Ast.Exp a0, Ast.Exp a1)Let(Pos pos, com.google.common.collect.ImmutableList<Ast.Decl> decls, Ast.Exp exp)Match(Pos pos, Ast.Pat pat, Ast.Exp exp)OrderItem(Pos pos, Ast.Exp exp, Ast.Direction direction)PrefixCall(Pos pos, Op op, Ast.Exp a)Scan(Pos pos, Op op, Ast.Pat pat, Ast.Exp exp, @Nullable Ast.Exp condition)ValBind(Pos pos, Ast.Pat pat, Ast.Exp exp)Where(Pos pos, Ast.Exp exp)Yield(Pos pos, Ast.Exp exp)Constructor parameters in net.hydromatic.morel.ast with type arguments of type Ast.Exp Constructor Description Group(Pos pos, Op op, com.google.common.collect.ImmutableList<Pair<Ast.Id,Ast.Exp>> groupExps, com.google.common.collect.ImmutableList<Ast.Aggregate> aggregates)ListExp(Pos pos, Iterable<? extends Ast.Exp> args)Record(Pos pos, com.google.common.collect.ImmutableSortedMap<String,Ast.Exp> args)Tuple(Pos pos, Iterable<? extends Ast.Exp> args) -
Uses of Ast.Exp in net.hydromatic.morel.compile
Methods in net.hydromatic.morel.compile that return Ast.Exp Modifier and Type Method Description private Ast.ExpTypeResolver. deduceType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v)Ast.ExpTypeResolver.Resolved. exp()private static Ast.ExpTypeResolver. idTuple(List<String> vars)Converts 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.Exp Modifier and Type Method Description private Ast.ExpTypeResolver. deduceType(TypeResolver.TypeEnv env, Ast.Exp node, Unifier.Variable v)private voidResolver. flatten(Map<Ast.Pat,Ast.Exp> matches, boolean flatten, Ast.Pat pat, Ast.Exp exp)private Core.ExpResolver. flattenLet(List<Ast.Decl> decls, Ast.Exp exp)private Core.ExpResolver. toCore(Ast.Exp exp)private Core.ExpResolver. toCoreFromEq(Ast.Exp exp)Translates "x" in "from e = x".static Ast.ValDeclCompiles. toValDecl(Ast.Exp statement)Convertsetoval = e.Method parameters in net.hydromatic.morel.compile with type arguments of type Ast.Exp Modifier and Type Method Description private voidResolver. flatten(Map<Ast.Pat,Ast.Exp> matches, boolean flatten, Ast.Pat pat, Ast.Exp exp) -
Uses of Ast.Exp in net.hydromatic.morel.util
Methods in net.hydromatic.morel.util that return types with arguments of type Ast.Exp Modifier and Type Method Description private static Folder<Ast.Exp>Folder. op(Ast.Exp exp, Op at)Creates a folder that combines an expression with whatever follows using an infix operator.Methods in net.hydromatic.morel.util with parameters of type Ast.Exp Modifier and Type Method Description static voidFolder. at(List<Folder<Ast.Exp>> list, Ast.Exp exp)Appends an element using "@".static voidFolder. cons(List<Folder<Ast.Exp>> list, Ast.Exp exp)Appends an element using "::".private static Folder<Ast.Exp>Folder. op(Ast.Exp exp, Op at)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 Modifier and Type Method Description static voidFolder. at(List<Folder<Ast.Exp>> list, Ast.Exp exp)Appends an element using "@".static voidFolder. cons(List<Folder<Ast.Exp>> list, Ast.Exp exp)Appends an element using "::".
-