|
||||||||||
| 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.ExprLet
public final class ExprLet
Immutable; represents an expression of the form (let a=b | x).
Invariant: type!=EMPTY => (var.type.unambiguos() && sub.mult==0)
| Field Summary | |
|---|---|
Expr |
expr
The expression bound to the LET variable. |
Expr |
sub
The body of the LET expression. |
ExprVar |
var
The LET variable. |
| 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. |
static Expr |
make(Pos pos,
ExprVar var,
Expr expr,
Expr sub)
Constructs a LET expression. |
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 ExprVar var
public final Expr expr
public final Expr sub
| Method Detail |
|---|
public Pos span()
span in class Browsable
public void toString(java.lang.StringBuilder out,
int indent)
toString in class Expr
public static Expr make(Pos pos,
ExprVar var,
Expr expr,
Expr sub)
pos - - the position of the '=' token in the original Alloy model (or null if unknown)var - - the LET variablesub - - the body of the LET expression (which may or may not contain "var" as a free variable)
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 | |||||||||