org.aspectj.compiler.base.ast
Class BlockStmt
java.lang.Object
org.aspectj.compiler.base.CompilerObject
org.aspectj.compiler.base.ast.ASTObject
org.aspectj.compiler.base.ast.Stmt
org.aspectj.compiler.base.ast.BlockStmt
- All Implemented Interfaces:
- AspectMember
- Direct Known Subclasses:
- CodeBody
- public class BlockStmt
- extends Stmt
- implements AspectMember
Constructor Summary |
protected |
BlockStmt(SourceLocation source)
|
|
BlockStmt(SourceLocation location,
ASTObject node1)
|
|
BlockStmt(SourceLocation location,
ASTObject node1,
ASTObject node2)
|
|
BlockStmt(SourceLocation location,
ASTObject node1,
ASTObject node2,
ASTObject node3)
|
|
BlockStmt(SourceLocation location,
ASTObject node1,
ASTObject node2,
ASTObject node3,
ASTObject node4)
|
|
BlockStmt(SourceLocation location,
Stmts _stmts)
|
|
BlockStmt(SourceLocation location,
Stmts _tmpStmts,
Stmts _stmts)
|
|
BlockStmt(Stmt[] _stmts)
|
|
BlockStmt(Stmts _stmts)
|
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject |
addComment, buildAccessMethod, checkNoSharing, checkSpec, 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, postCopy, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, 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 |
tmpStmts
protected Stmts tmpStmts
stmts
protected Stmts stmts
BlockStmt
public BlockStmt(SourceLocation location,
ASTObject node1)
BlockStmt
public BlockStmt(SourceLocation location,
ASTObject node1,
ASTObject node2)
BlockStmt
public BlockStmt(SourceLocation location,
ASTObject node1,
ASTObject node2,
ASTObject node3)
BlockStmt
public BlockStmt(SourceLocation location,
ASTObject node1,
ASTObject node2,
ASTObject node3,
ASTObject node4)
BlockStmt
public BlockStmt(SourceLocation location,
Stmts _stmts)
BlockStmt
public BlockStmt(Stmts _stmts)
BlockStmt
public BlockStmt(Stmt[] _stmts)
BlockStmt
public BlockStmt(SourceLocation location,
Stmts _tmpStmts,
Stmts _stmts)
BlockStmt
protected BlockStmt(SourceLocation source)
isEmpty
public boolean isEmpty()
- Overrides:
isEmpty
in class Stmt
requireBlockStmt
public void requireBlockStmt()
- Overrides:
requireBlockStmt
in class Stmt
mustBeLive
public boolean mustBeLive()
- when the -lenient option is used,
we declare that empty block don't have to be live.
This makes code like: return 2; {} legal.
- Overrides:
mustBeLive
in class Stmt
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 w)
- Overrides:
postCleanup
in class ASTObject
makeTempsExplicit
protected void makeTempsExplicit()
walkFrameLoc
public void walkFrameLoc(org.aspectj.compiler.base.FrameLocPass walker)
- Overrides:
walkFrameLoc
in class ASTObject
preScope
public void preScope(ScopeWalker walker)
- Overrides:
preScope
in class ASTObject
postScope
public ASTObject postScope(ScopeWalker walker)
- Overrides:
postScope
in class ASTObject
makeTemporary
public VarDec makeTemporary(Type type)
addTemporary
public void addTemporary(VarDec tmp)
checkReturnType
public void checkReturnType(Type expectedReturnType)
unparse
public void unparse(org.aspectj.compiler.base.CodeWriter writer)
- Specified by:
unparse
in interface AspectMember
- Overrides:
unparse
in class ASTObject
cleanup
public void cleanup()
- Specified by:
cleanup
in interface AspectMember
- Overrides:
cleanup
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
getTmpStmts
public Stmts getTmpStmts()
setTmpStmts
public void setTmpStmts(Stmts _tmpStmts)
getStmts
public Stmts getStmts()
setStmts
public void setStmts(Stmts _stmts)
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 Stmt