|
||||||||||
| 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.ExprList
public final class ExprList
Immutable; represents disjoint[] or pred/totalOrder[] or (... and ... and ..) and other similar list of arugments.
Invariant: type!=EMPTY => (all x:args | x.mult==0)
| Nested Class Summary | |
|---|---|
static class |
ExprList.Op
This class contains all possible builtin predicates. |
| Field Summary | |
|---|---|
ConstList<Expr> |
args
The unmodifiable list of arguments. |
ExprList.Op |
op
The builtin operator. |
| Fields inherited from class edu.mit.csail.sdg.alloy4compiler.ast.Expr |
|---|
ambiguous, closingBracket, errors, mult, pos, weight |
| Method Summary | |
|---|---|
ExprList |
addArg(Expr x)
Return a new ExprList object that is the same as this one except with one additional argument. |
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. |
static ExprList |
make(Pos pos,
Pos closingBracket,
ExprList.Op op,
java.util.List<? extends Expr> args)
Generates a call to a builtin predicate |
static ExprList |
makeAND(Pos pos,
Pos closingBracket,
Expr a,
Expr b)
Generates the expression (arg1 and arg2) |
static ExprList |
makeDISJOINT(Pos pos,
Pos closingBracket,
java.util.List<? extends Expr> args)
Generates the expression disj[arg1, args2, arg3...] |
static ExprList |
makeOR(Pos pos,
Pos closingBracket,
Expr a,
Expr b)
Generates the expression (arg1 || arg2) |
static ExprList |
makeTOTALORDER(Pos pos,
Pos closingBracket,
java.util.List<? extends Expr> args)
Generates the expression pred/totalOrder[arg1, args2, arg3...] |
Expr |
resolve(Type p,
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, isSame, 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 ExprList.Op op
public final ConstList<Expr> args
| Method Detail |
|---|
public Pos span()
span in class Browsable
public void toString(java.lang.StringBuilder out,
int indent)
toString in class Expr
public static ExprList make(Pos pos,
Pos closingBracket,
ExprList.Op op,
java.util.List<? extends Expr> args)
public static ExprList makeAND(Pos pos,
Pos closingBracket,
Expr a,
Expr b)
public static ExprList makeOR(Pos pos,
Pos closingBracket,
Expr a,
Expr b)
public static ExprList makeTOTALORDER(Pos pos,
Pos closingBracket,
java.util.List<? extends Expr> args)
public static ExprList makeDISJOINT(Pos pos,
Pos closingBracket,
java.util.List<? extends Expr> args)
public ExprList addArg(Expr x)
public Expr resolve(Type p,
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 Exprwarns - - the list that will receive any warning we generate; can be null if we wish to ignore warningspublic int getDepth()
getDepth in class Exprpublic java.lang.String getHTML()
getHTML in class Browsablepublic 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 | |||||||||