org.aspectj.compiler.base.ast
Class Stmt
java.lang.Object
org.aspectj.compiler.base.CompilerObject
org.aspectj.compiler.base.ast.ASTObject
org.aspectj.compiler.base.ast.Stmt
- Direct Known Subclasses:
- BlockStmt, BreakStmt, ContinueStmt, Dec, Decs, EmptyStmt, ExprStmt, FromDecStmt, LabeledStmt, ReturnStmt, SwitchStmt, SynchronizedStmt, TestStmt, ThrowStmt, TryStmt
- public abstract class Stmt
- extends ASTObject
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject |
addComment, buildAccessMethod, checkNoSharing, checkSpec, cleanup, clearComment, clearParent, contains, containsTypes, copy, copyWalk, display, fixAccessPost, fixAST, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getBytecodeTypeDec, getChildAt, getChildCount, getChildNameAt, 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, postCleanup, postCopy, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setChildAt, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toShortString, toString, unparse, unparse, walk, walkAnalysis, walkAssignmentCheck, walkCleanup, walkFlow, walkForwardReference, walkFrameLoc, 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 |
Stmt
public Stmt(SourceLocation location)
mustBeLive
public boolean mustBeLive()
- checks whether control must be live to reach this statement.
Block statements, for example, need not cause the "unreachable
statement" error if they are empty. This is used as part of
FlowCheckerPass
.
isBreakable
public boolean isBreakable()
isContinuable
public boolean isContinuable()
isEmpty
public boolean isEmpty()
requireBlockStmt
public void requireBlockStmt()
requireStmt
public void requireStmt()
setCompletesNormally
public void setCompletesNormally(boolean b)
completesNormally
public boolean completesNormally()
cgTop
public void cgTop(org.aspectj.compiler.base.bcg.CodeBuilder cb)
- The purpose of this procedure is to dispatch to
#cg
, but to perform an invariant check beforehand to make
sure the current stack size is zero. This method is final only
because it seems unlikely that anybody would want to override
it (they should rather provide a definition for #cg
). If there is a good reason to override this, the
final modifier can be removed.
registerLocation
protected void registerLocation(org.aspectj.compiler.base.bcg.CodeBuilder cb)
cgStmt
protected void cgStmt(org.aspectj.compiler.base.bcg.CodeBuilder cb)
- This procedure does the work of generating bytecode. Its main
requirement is to leave the stack empty. This method should
only be called from
cgTop(org.aspectj.compiler.base.bcg.CodeBuilder)
.
getDefaultDisplayName
public java.lang.String getDefaultDisplayName()
- Overrides:
getDefaultDisplayName
in class ASTObject