jif.ast
Class DeclassifyExpr_c

java.lang.Object
  extended by polyglot.ext.jl.ast.Node_c
      extended by polyglot.ext.jl.ast.Term_c
          extended by polyglot.ext.jl.ast.Expr_c
              extended by jif.ast.DeclassifyExpr_c
All Implemented Interfaces:
java.lang.Cloneable, DeclassifyExpr, 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

public class DeclassifyExpr_c
extends polyglot.ext.jl.ast.Expr_c
implements DeclassifyExpr

An implemenation of the DeclassifyExpr interface.


Field Summary
 
Fields inherited from class polyglot.ext.jl.ast.Expr_c
type
 
Fields inherited from class polyglot.ext.jl.ast.Term_c
exceptions, reachable
 
Fields inherited from class polyglot.ext.jl.ast.Node_c
del, error, ext, position
 
Constructor Summary
DeclassifyExpr_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()
           
 DeclassifyExpr bound(LabelNode b)
           
 polyglot.ast.Term entry()
           
 polyglot.ast.Expr expr()
           
 DeclassifyExpr expr(polyglot.ast.Expr expr)
           
 LabelNode label()
           
 DeclassifyExpr label(LabelNode label)
           
 polyglot.ast.Precedence precedence()
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  DeclassifyExpr_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.ext.jl.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.ext.jl.ast.Term_c
exceptionCheck, exceptions, exceptions, listEntry, reachable, reachable
 
Methods inherited from class polyglot.ext.jl.ast.Node_c
addDecls, buildTypesEnter, checkConstants, childExpectedType, 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 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, 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

DeclassifyExpr_c

public DeclassifyExpr_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 DeclassifyExpr

expr

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

label

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

label

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

bound

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

bound

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

reconstruct

protected DeclassifyExpr_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.ext.jl.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.ext.jl.ast.Node_c
Throws:
polyglot.types.SemanticException

entry

public polyglot.ast.Term entry()
Specified by:
entry in interface polyglot.ast.Term
Specified by:
entry in class polyglot.ext.jl.ast.Term_c

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.ext.jl.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.ext.jl.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.ext.jl.ast.Node_c

toString

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

precedence

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