org.aspectj.compiler.base.ast
Class IfStmt

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.TestStmt
                  extended byorg.aspectj.compiler.base.ast.IfStmt

public class IfStmt
extends TestStmt


Field Summary
protected  Stmt _else
           
protected  Expr test
           
protected  Stmt then
           
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
  IfStmt(Expr _test, Stmt _then, Stmt __else)
           
protected IfStmt(SourceLocation source)
           
  IfStmt(SourceLocation location, Expr _test, Stmt _then, Stmt __else)
           
 
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)
           
 java.lang.String getDefaultDisplayName()
           
 Stmt getElse()
           
 Expr getTest()
           
 Stmt getThen()
           
 ASTObject postCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass w)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setElse(Stmt __else)
           
 void setTest(Expr _test)
           
 void setThen(Stmt _then)
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
 void walkCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass w)
           
 void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.TestStmt
postScope, preScope
 
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, 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, 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
 

Field Detail

test

protected Expr test

then

protected Stmt then

_else

protected Stmt _else
Constructor Detail

IfStmt

public IfStmt(SourceLocation location,
              Expr _test,
              Stmt _then,
              Stmt __else)

IfStmt

public IfStmt(Expr _test,
              Stmt _then,
              Stmt __else)

IfStmt

protected IfStmt(SourceLocation source)
Method Detail

unparse

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

checkSpec

public void checkSpec()
Overrides:
checkSpec in class TestStmt

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

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

getTest

public Expr getTest()
Specified by:
getTest in class TestStmt

setTest

public void setTest(Expr _test)

getThen

public Stmt getThen()

setThen

public void setThen(Stmt _then)

getElse

public Stmt getElse()

setElse

public void setElse(Stmt __else)

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 TestStmt