|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.mit.csail.sdg.alloy4compiler.ast.Browsable
edu.mit.csail.sdg.alloy4compiler.ast.Expr
edu.mit.csail.sdg.alloy4compiler.ast.ExprCall
public final class ExprCall
Immutable; represents a call.
Invariant: type!=EMPTY => (all x:args | x.mult==0)
Field Summary | |
---|---|
ConstList<Expr> |
args
The list of arguments to the call. |
long |
extraWeight
The extra weight added to this node on top of the combined weights of the arguments. |
Func |
fun
The actual function being called; never null. |
Fields inherited from class edu.mit.csail.sdg.alloy4compiler.ast.Expr |
---|
ambiguous, closingBracket, errors, mult, pos, weight |
Method Summary | |
---|---|
int |
getDepth()
Returns the height of the abstract syntax tree starting from this node. |
java.lang.String |
getHTML()
Returns the description (as HTML) to show for this node. |
java.util.List<? extends Browsable> |
getSubnodes()
Returns a list of subnodes for this node. |
boolean |
isSame(Expr obj)
Returns true if we can determine the two expressions are equivalent; may sometimes return false. |
static Expr |
make(Pos pos,
Pos closingBracket,
Func fun,
java.util.List<Expr> args,
long extraPenalty)
Constructs an ExprCall node with the given predicate/function "fun" and the list of arguments "args". |
Expr |
resolve(Type t,
java.util.Collection<ErrorWarning> warns)
Resolves this expression if ambiguous. |
Pos |
span()
Returns a Pos object representing the entire span of this Expr and all its subexpressions. |
void |
toString(java.lang.StringBuilder out,
int indent)
Print a textual description of it and all subnodes to a StringBuilder, with the given level of indentation. |
Methods inherited from class edu.mit.csail.sdg.alloy4compiler.ast.Expr |
---|
and, any_arrow_lone, any_arrow_one, any_arrow_some, cardinality, cast2int, cast2sigint, closure, comprehensionOver, deNOP, div, domain, equal, equals, findAllFunctions, forAll, forLone, forNo, forOne, forSome, gt, gte, hashCode, hasVar, iff, iminus, implies, in, intersect, iplus, isSeq_arrow_lone, ite, join, lone_arrow_any, lone_arrow_lone, lone_arrow_one, lone_arrow_some, lone, loneOf, loneOf, lt, lte, minus, mul, mult, no, not, one_arrow_any, one_arrow_lone, one_arrow_one, one_arrow_some, one, oneOf, oneOf, or, override, plus, pos, product, range, reflexiveClosure, rem, resolve_as_formula, resolve_as_int, resolve_as_set, setOf, setOf, sha, shl, shr, some_arrow_any, some_arrow_lone, some_arrow_one, some_arrow_some, some, someOf, someOf, sumOver, toString, transpose, type, typecheck_as_formula, typecheck_as_int, typecheck_as_set |
Methods inherited from class edu.mit.csail.sdg.alloy4compiler.ast.Browsable |
---|
make, make, make, make, showAsTree |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public final Func fun
public final ConstList<Expr> args
public final long extraWeight
Method Detail |
---|
public Pos span()
span
in class Browsable
public void toString(java.lang.StringBuilder out, int indent)
toString
in class Expr
public boolean isSame(Expr obj)
isSame
in class Expr
public static Expr make(Pos pos, Pos closingBracket, Func fun, java.util.List<Expr> args, long extraPenalty)
public Expr resolve(Type t, java.util.Collection<ErrorWarning> warns)
On success: the return value will be well-typed and unambiguous
On failure: the return value's "errors" list will be nonempty
If we detect any type warnings, we will add the type warnings to the "warnings" collection.
resolve
in class Expr
warns
- - the list that will receive any warning we generate; can be null if we wish to ignore warningspublic int getDepth()
getDepth
in class Expr
public java.lang.String getHTML()
getHTML
in class Browsable
public java.util.List<? extends Browsable> getSubnodes()
getSubnodes
in class Browsable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |