org.aspectj.compiler.base.ast
Class TryFinallyStmt

java.lang.Object
  extended byorg.aspectj.compiler.base.CompilerObject
      extended byorg.aspectj.compiler.base.ast.ASTObject
          extended byorg.aspectj.compiler.base.ast.Stmt
              extended byorg.aspectj.compiler.base.ast.TryStmt
                  extended byorg.aspectj.compiler.base.ast.TryFinallyStmt
All Implemented Interfaces:
WindingStmt

public class TryFinallyStmt
extends TryStmt
implements WindingStmt


Field Summary
protected  Stmt _finally
           
protected  Stmt body
           
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
protected TryFinallyStmt(SourceLocation source)
           
  TryFinallyStmt(SourceLocation location, Stmt _body, Stmt __finally)
           
  TryFinallyStmt(Stmt _body, Stmt __finally)
           
  TryFinallyStmt(Stmt _body, Stmt[] __finally)
           
 
Method Summary
protected  void cgStmt(org.aspectj.compiler.base.bcg.CodeBuilder cb)
          This procedure does the work of generating bytecode.
 void checkSpec()
           
 ASTObject copyWalk(CopyWalker walker)
           
 Stmt getBody()
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 java.lang.String getDefaultDisplayName()
           
 Stmt getFinally()
           
 int getRetValLoc()
           
 ASTObject postCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass walker)
           
 ASTObject postFixAST(org.aspectj.compiler.base.ASTFixerPass fixer)
           
 void setBody(Stmt _body)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setFinally(Stmt __finally)
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
 void walkCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass w)
           
 void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
           
 void walkFrameLoc(org.aspectj.compiler.base.FrameLocPass walker)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.TryStmt
isOptional, postCopy, setIsOptional
 
Methods inherited from class org.aspectj.compiler.base.ast.Stmt
cgTop, completesNormally, isBreakable, isContinuable, isEmpty, mustBeLive, registerLocation, requireBlockStmt, requireStmt, setCompletesNormally
 
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject
addComment, buildAccessMethod, checkNoSharing, cleanup, clearComment, clearParent, contains, containsTypes, copy, display, fixAccessPost, fixAST, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getBytecodeTypeDec, getComment, getCompilationUnit, getDeclaringType, getEnclosingCodeDec, getEnclosingDec, getEndColumn, getEndLine, getEndPosition, getFormalComment, getLexicalType, getOutermostBytecodeType, getOutermostLexicalType, getParent, getSourceDirectoryName, getSourceFile, getSourceFileName, getSourceLocation, getStartPosition, hasLegalProtectedAccess, hasSource, hasSourceLocation, implementMixin, indexOf, inStaticContext, isLanguageVisible, isLeaf, isSynthetic, makeChild, makeChild, postAssignmentCheck, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toShortString, toString, unparse, walk, walkAnalysis, walkAssignmentCheck, walkForwardReference, walkInnerInfo, walkMemberMunger, walkScope
 
Methods inherited from class org.aspectj.compiler.base.CompilerObject
getCompiler, getOptions, getTypeManager, getWorld
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

body

protected Stmt body

_finally

protected Stmt _finally
Constructor Detail

TryFinallyStmt

public TryFinallyStmt(SourceLocation location,
                      Stmt _body,
                      Stmt __finally)

TryFinallyStmt

public TryFinallyStmt(Stmt _body,
                      Stmt __finally)

TryFinallyStmt

public TryFinallyStmt(Stmt _body,
                      Stmt[] __finally)

TryFinallyStmt

protected TryFinallyStmt(SourceLocation source)
Method Detail

checkSpec

public void checkSpec()
Overrides:
checkSpec in class ASTObject

unparse

public void unparse(org.aspectj.compiler.base.CodeWriter writer)
Overrides:
unparse in class ASTObject

postFixAST

public ASTObject postFixAST(org.aspectj.compiler.base.ASTFixerPass fixer)
Overrides:
postFixAST in class ASTObject

walkFlow

public void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
Overrides:
walkFlow in class ASTObject

walkCleanup

public void walkCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass w)
Overrides:
walkCleanup in class ASTObject

postCleanup

public ASTObject postCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass walker)
Overrides:
postCleanup in class ASTObject

cgStmt

protected void cgStmt(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Description copied from class: Stmt
This procedure does the work of generating bytecode. Its main requirement is to leave the stack empty. This method should only be called from Stmt.cgTop(org.aspectj.compiler.base.bcg.CodeBuilder).

Overrides:
cgStmt in class Stmt

getRetValLoc

public int getRetValLoc()
Specified by:
getRetValLoc in interface WindingStmt

walkFrameLoc

public void walkFrameLoc(org.aspectj.compiler.base.FrameLocPass walker)
Overrides:
walkFrameLoc in class ASTObject

getBody

public Stmt getBody()

setBody

public void setBody(Stmt _body)

getFinally

public Stmt getFinally()

setFinally

public void setFinally(Stmt __finally)

copyWalk

public ASTObject copyWalk(CopyWalker walker)
Overrides:
copyWalk in class ASTObject

getChildAt

public ASTObject getChildAt(int childIndex)
Overrides:
getChildAt in class ASTObject

getChildNameAt

public java.lang.String getChildNameAt(int childIndex)
Overrides:
getChildNameAt in class ASTObject

setChildAt

public void setChildAt(int childIndex,
                       ASTObject child)
Overrides:
setChildAt in class ASTObject

getChildCount

public int getChildCount()
Overrides:
getChildCount in class ASTObject

getDefaultDisplayName

public java.lang.String getDefaultDisplayName()
Overrides:
getDefaultDisplayName in class TryStmt