| 
 | ||||||||||
| 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.OpThis class contains all possible builtin predicates. | 
| Field Summary | |
|---|---|
|  ConstList<Expr> | argsThe unmodifiable list of arguments. | 
|  ExprList.Op | opThe 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 | |||||||||