org.aspectj.compiler.base.ast
Class SwitchStmt

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.SwitchStmt

public class SwitchStmt
extends Stmt


Field Summary
protected  SwitchClauses clauses
           
protected  Expr expr
           
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
  SwitchStmt(JavaExpr _expr, SwitchClauses _clauses)
           
protected SwitchStmt(SourceLocation source)
           
  SwitchStmt(SourceLocation location, Expr _expr, SwitchClauses _clauses)
           
 
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)
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 SwitchClauses getClauses()
           
 java.lang.String getDefaultDisplayName()
           
 Expr getExpr()
           
 boolean isBreakable()
           
 ASTObject postScope(ScopeWalker walker)
           
 void preScope(ScopeWalker walker)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setClauses(SwitchClauses _clauses)
           
 void setExpr(Expr _expr)
           
 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.Stmt
cgTop, completesNormally, 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, postCleanup, 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
 

Field Detail

expr

protected Expr expr

clauses

protected SwitchClauses clauses
Constructor Detail

SwitchStmt

public SwitchStmt(SourceLocation location,
                  Expr _expr,
                  SwitchClauses _clauses)

SwitchStmt

public SwitchStmt(JavaExpr _expr,
                  SwitchClauses _clauses)

SwitchStmt

protected SwitchStmt(SourceLocation source)
Method Detail

isBreakable

public boolean isBreakable()
Overrides:
isBreakable in class Stmt

walkFlow

public void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
Overrides:
walkFlow 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

checkSpec

public void checkSpec()
Overrides:
checkSpec in class ASTObject

unparse

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

walkCleanup

public void walkCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass w)
Overrides:
walkCleanup 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

walkFrameLoc

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

getExpr

public Expr getExpr()

setExpr

public void setExpr(Expr _expr)

getClauses

public SwitchClauses getClauses()

setClauses

public void setClauses(SwitchClauses _clauses)

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