jif.ast
Class LabelExpr_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.LabelExpr_c
All Implemented Interfaces:
java.lang.Cloneable, LabelExpr, 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:
NewLabel_c

public class LabelExpr_c
extends polyglot.ast.Expr_c
implements LabelExpr

An implementation of the NewLabel interface.


Field Summary
protected  LabelNode label
           
 
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
LabelExpr_c(polyglot.util.Position pos, LabelNode label)
           
 
Method Summary
 java.util.List acceptCFG(polyglot.visit.CFGBuilder v, java.util.List succs)
           
 polyglot.ast.Term firstChild()
           
 LabelNode label()
           
 LabelExpr label(LabelNode label)
           
 void prettyPrint(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
           
protected  LabelExpr_c reconstruct(LabelNode label)
           
 java.util.List throwTypes(polyglot.types.TypeSystem ts)
           
 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, precedence, 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, 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, precedence, 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, 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
 

Field Detail

label

protected LabelNode label
Constructor Detail

LabelExpr_c

public LabelExpr_c(polyglot.util.Position pos,
                   LabelNode label)
Method Detail

label

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

label

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

reconstruct

protected LabelExpr_c reconstruct(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

throwTypes

public java.util.List throwTypes(polyglot.types.TypeSystem ts)
Specified by:
throwTypes in interface polyglot.ast.NodeOps
Overrides:
throwTypes in class polyglot.ast.Node_c

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