|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object polyglot.ext.jl.ast.Node_c polyglot.ext.jl.ast.Term_c polyglot.ext.jl.ast.Stmt_c polyglot.ext.jl.ast.Try_c
public class Try_c
An immutable representation of a try
block, one or more
catch
blocks, and an optional finally
block.
Field Summary | |
---|---|
protected java.util.List |
catchBlocks
|
protected Block |
finallyBlock
|
protected Block |
tryBlock
|
Fields inherited from class polyglot.ext.jl.ast.Term_c |
---|
exceptions, reachable |
Fields inherited from class polyglot.ext.jl.ast.Node_c |
---|
del, ext, position |
Constructor Summary | |
---|---|
Try_c(Position pos,
Block tryBlock,
java.util.List catchBlocks,
Block finallyBlock)
|
Method Summary | |
---|---|
java.util.List |
acceptCFG(CFGBuilder v,
java.util.List succs)
Visit this term in evaluation order. |
java.util.List |
catchBlocks()
Get the catch blocks of the statement. |
Try |
catchBlocks(java.util.List catchBlocks)
Set the catch blocks of the statement. |
Term |
entry()
Return the first (sub)term performed when evaluating this term. |
Node |
exceptionCheck(ExceptionChecker ec)
Performs exceptionChecking. |
NodeVisitor |
exceptionCheckEnter(ExceptionChecker ec)
Bypass all children when peforming an exception check. |
Block |
finallyBlock()
Get the finally block of the statement. |
Try |
finallyBlock(Block finallyBlock)
Set the finally block of the statement. |
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
Pretty-print the AST using the given CodeWriter . |
protected Try_c |
reconstruct(Block tryBlock,
java.util.List catchBlocks,
Block finallyBlock)
Reconstruct the statement. |
java.lang.String |
toString()
|
Block |
tryBlock()
Get the try block of the statement. |
Try |
tryBlock(Block tryBlock)
Set the try block of the statement. |
Node |
visitChildren(NodeVisitor v)
Visit the children of the statement. |
Methods inherited from class polyglot.ext.jl.ast.Term_c |
---|
exceptions, exceptions, listEntry, reachable, reachable |
Methods inherited from class polyglot.ext.jl.ast.Node_c |
---|
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypes, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, dump, enterScope, enterScope, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, print, printBlock, printSubStmt, throwTypes, translate, typeCheck, 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.Term |
---|
exceptions, exceptions, reachable, reachable |
Methods inherited from interface polyglot.ast.Node |
---|
childExpectedType, del, del, dump, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList |
Methods inherited from interface polyglot.ast.JL |
---|
init, node |
Methods inherited from interface polyglot.ast.NodeOps |
---|
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, throwTypes, translate, typeCheck, typeCheckEnter |
Methods inherited from interface polyglot.util.Copy |
---|
copy |
Field Detail |
---|
protected Block tryBlock
protected java.util.List catchBlocks
protected Block finallyBlock
Constructor Detail |
---|
public Try_c(Position pos, Block tryBlock, java.util.List catchBlocks, Block finallyBlock)
Method Detail |
---|
public Block tryBlock()
tryBlock
in interface Try
public Try tryBlock(Block tryBlock)
tryBlock
in interface Try
public java.util.List catchBlocks()
catchBlocks
in interface Try
Catch
.public Try catchBlocks(java.util.List catchBlocks)
catchBlocks
in interface Try
catchBlocks
- A list of Catch
.public Block finallyBlock()
finallyBlock
in interface Try
public Try finallyBlock(Block finallyBlock)
finallyBlock
in interface Try
protected Try_c reconstruct(Block tryBlock, java.util.List catchBlocks, Block finallyBlock)
public Node visitChildren(NodeVisitor v)
visitChildren
in interface NodeOps
visitChildren
in class Node_c
v
- The visitor that will traverse/rewrite the AST.
this
.public NodeVisitor exceptionCheckEnter(ExceptionChecker ec) throws SemanticException
exceptionCheckEnter
in interface NodeOps
exceptionCheckEnter
in class Node_c
ec
- The visitor.
SemanticException
public Node exceptionCheck(ExceptionChecker ec) throws SemanticException
exceptionCheck
in interface NodeOps
exceptionCheck
in class Term_c
ec
- The ExceptionChecker that was run against the
child node. It contains the exceptions that can be thrown by the try
block.
SemanticException
public java.lang.String toString()
toString
in class Node_c
public void prettyPrint(CodeWriter w, PrettyPrinter tr)
Node_c
CodeWriter
.
prettyPrint
in interface NodeOps
prettyPrint
in class Node_c
w
- The code writer to which to write.tr
- The pretty printer. This is not a visitor.public Term entry()
Term_c
entry
in interface Term
entry
in class Term_c
public java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
Term_c
acceptCFG
in interface Term
acceptCFG
in class Term_c
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |