jif.ast
Class DowngradeExpr_c

java.lang.Object
  extended by polyglot.ast.Node_c
      extended by polyglot.ast.Term_c
          extended by polyglot.ast.Expr_c
              extended by jif.ast.DowngradeExpr_c
All Implemented Interfaces:
java.lang.Cloneable, DowngradeExpr, polyglot.ast.Expr, polyglot.ast.JL, polyglot.ast.Node, polyglot.ast.NodeOps, polyglot.ast.Prefix, polyglot.ast.Receiver, polyglot.ast.Term, polyglot.ast.Typed, polyglot.util.Copy
Direct Known Subclasses:
DeclassifyExpr_c, EndorseExpr_c

public abstract class DowngradeExpr_c
extends polyglot.ast.Expr_c
implements DowngradeExpr

An implementation of the DowngradeExpr interface.


Field Summary
 
Fields inherited from class polyglot.ast.Expr_c
type
 
Fields inherited from class polyglot.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ast.Node_c
del, error, ext, position
 
Fields inherited from interface polyglot.ast.Term
ENTRY, EXIT
 
Constructor Summary
DowngradeExpr_c(polyglot.util.Position pos, polyglot.ast.Expr expr, LabelNode bound, LabelNode label)
           
 
Method Summary
 java.util.List acceptCFG(polyglot.visit.CFGBuilder v, java.util.List succs)
           
 LabelNode bound()
           
 DowngradeExpr bound(LabelNode b)
           
 polyglot.ast.Expr expr()
           
 DowngradeExpr expr(polyglot.ast.Expr expr)
           
 polyglot.ast.Term firstChild()
           
 LabelNode label()
           
 DowngradeExpr label(LabelNode label)
           
 polyglot.ast.Precedence precedence()
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  DowngradeExpr_c reconstruct(polyglot.ast.Expr expr, LabelNode bound, LabelNode label)
           
 java.lang.String toString()
           
 void translate(polyglot.util.CodeWriter w, polyglot.visit.Translator tr)
           
 polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
           
 polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
           
 
Methods inherited from class polyglot.ast.Expr_c
booleanValue, buildTypes, byteValue, charValue, constantValue, constantValueSet, doubleValue, dump, floatValue, intValue, isConstant, isTypeChecked, longValue, printSubExpr, printSubExpr, shortValue, stringValue, type, type
 
Methods inherited from class polyglot.ast.Term_c
exceptionCheck, exceptions, exceptions, listChild, reachable, reachable
 
Methods inherited from class polyglot.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, error, error, exceptionCheckEnter, ext, ext, ext, ext, init, isDisambiguated, node, position, position, prettyPrint, prettyPrint, print, printBlock, printSubStmt, throwTypes, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jif.ast.DowngradeExpr
downgradeKind
 
Methods inherited from interface polyglot.ast.Expr
constantValue, constantValueSet, isConstant, printSubExpr, printSubExpr, type
 
Methods inherited from interface polyglot.ast.Node
childExpectedType, del, del, dump, error, error, ext, ext, ext, ext, isDisambiguated, isTypeChecked, position, position, visit, visitChild, visitEdge, visitList
 
Methods inherited from interface polyglot.ast.JL
init, node
 
Methods inherited from interface polyglot.ast.NodeOps
addDecls, buildTypes, buildTypesEnter, checkConstants, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, prettyPrint, prettyPrint, throwTypes, typeCheckEnter, typeCheckOverride
 
Methods inherited from interface polyglot.util.Copy
copy
 
Methods inherited from interface polyglot.ast.Typed
type
 
Methods inherited from interface polyglot.ast.Term
exceptions, exceptions, reachable, reachable
 

Constructor Detail

DowngradeExpr_c

public DowngradeExpr_c(polyglot.util.Position pos,
                       polyglot.ast.Expr expr,
                       LabelNode bound,
                       LabelNode label)
Method Detail

expr

public polyglot.ast.Expr expr()
Specified by:
expr in interface DowngradeExpr

expr

public DowngradeExpr expr(polyglot.ast.Expr expr)
Specified by:
expr in interface DowngradeExpr

label

public LabelNode label()
Specified by:
label in interface DowngradeExpr

label

public DowngradeExpr label(LabelNode label)
Specified by:
label in interface DowngradeExpr

bound

public LabelNode bound()
Specified by:
bound in interface DowngradeExpr

bound

public DowngradeExpr bound(LabelNode b)
Specified by:
bound in interface DowngradeExpr

reconstruct

protected DowngradeExpr_c reconstruct(polyglot.ast.Expr expr,
                                      LabelNode bound,
                                      LabelNode label)

visitChildren

public polyglot.ast.Node visitChildren(polyglot.visit.NodeVisitor v)
Specified by:
visitChildren in interface polyglot.ast.NodeOps
Overrides:
visitChildren in class polyglot.ast.Node_c

typeCheck

public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
                            throws polyglot.types.SemanticException
Specified by:
typeCheck in interface polyglot.ast.NodeOps
Overrides:
typeCheck in class polyglot.ast.Node_c
Throws:
polyglot.types.SemanticException

firstChild

public polyglot.ast.Term firstChild()
Specified by:
firstChild in interface polyglot.ast.Term

acceptCFG

public java.util.List acceptCFG(polyglot.visit.CFGBuilder v,
                                java.util.List succs)
Specified by:
acceptCFG in interface polyglot.ast.Term
Specified by:
acceptCFG in class polyglot.ast.Term_c

prettyPrint

public void prettyPrint(polyglot.util.CodeWriter w,
                        polyglot.visit.PrettyPrinter tr)
Specified by:
prettyPrint in interface polyglot.ast.NodeOps
Overrides:
prettyPrint in class polyglot.ast.Node_c

translate

public void translate(polyglot.util.CodeWriter w,
                      polyglot.visit.Translator tr)
Specified by:
translate in interface polyglot.ast.NodeOps
Overrides:
translate in class polyglot.ast.Node_c

toString

public java.lang.String toString()
Overrides:
toString in class polyglot.ast.Node_c

precedence

public polyglot.ast.Precedence precedence()
Specified by:
precedence in interface polyglot.ast.Expr
Overrides:
precedence in class polyglot.ast.Expr_c