|
||||||||||
| 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.ExprBinary
public final class ExprBinary
Immutable; represents an expression of the form (x OP y).
Invariant: type!=EMPTY => (this.mult!=1)
Invariant: type!=EMPTY => (this.mult==2 => this.op is one of the 17 arrow operators)
Invariant: type!=EMPTY => (left.mult!=1)
Invariant: type!=EMPTY => (left.mult==2 => this.op is one of the 17 arrow operators)
Invariant: type!=EMPTY => (right.mult==1 => this.op==IN)
Invariant: type!=EMPTY => (right.mult==2 => (this.op==IN || this.op is one of the 17 arrow operators))
| Nested Class Summary | |
|---|---|
static class |
ExprBinary.Op
This class contains all possible binary operators. |
| Field Summary | |
|---|---|
Expr |
left
The left-hand-side expression. |
ExprBinary.Op |
op
The binary operator. |
Expr |
right
The right-hand-side expression. |
| 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. |
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, 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 ExprBinary.Op op
public final Expr left
public final Expr right
| Method Detail |
|---|
public boolean isSame(Expr obj)
isSame in class Exprpublic Pos span()
span in class Browsable
public void toString(java.lang.StringBuilder out,
int indent)
toString in class Expr
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 | |||||||||