org.aspectj.compiler.base.ast
Class TriTestExpr
java.lang.Object
org.aspectj.compiler.base.CompilerObject
org.aspectj.compiler.base.ast.ASTObject
org.aspectj.compiler.base.ast.Expr
org.aspectj.compiler.base.ast.JavaExpr
org.aspectj.compiler.base.ast.TriTestExpr
- public class TriTestExpr
- extends JavaExpr
| Fields inherited from class org.aspectj.compiler.base.ast.Expr |
type |
| Methods inherited from class org.aspectj.compiler.base.ast.Expr |
assertType, canBeCopied, cgBuffer, cgValue, cleanup, getType, isAssignableTo, isConstantFalse, isConstantTrue, isConstantZero, isInConstructorCallExpr, isInExprStmt, isLegalStmt, isMethodConvertableTo, isUltimatelyLiteral, makeQualifiedThis, makeReference, postCopy, setType, showOperatorTypeError, showOperatorTypeError, walkCleanup, walkFrameLoc |
| Methods inherited from class org.aspectj.compiler.base.ast.ASTObject |
addComment, buildAccessMethod, checkNoSharing, 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, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, 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 |
test
protected Expr test
_true
protected Expr _true
_false
protected Expr _false
TriTestExpr
public TriTestExpr(SourceLocation location,
Expr _test,
Expr __true,
Expr __false)
TriTestExpr
public TriTestExpr(Expr _test,
Expr __true,
Expr __false)
TriTestExpr
protected TriTestExpr(SourceLocation source)
toExpr
public Expr toExpr()
discoverType
public Type discoverType()
- Specified by:
discoverType in class Expr
checkSpec
public void checkSpec()
- Overrides:
checkSpec in class Expr
preAssignmentCheck
public void preAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
- Overrides:
preAssignmentCheck in class ASTObject
postAssignmentCheck
public ASTObject postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
- Overrides:
postAssignmentCheck in class ASTObject
unparse
public void unparse(org.aspectj.compiler.base.CodeWriter writer)
- Overrides:
unparse in class ASTObject
walkFlow
public void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
- Overrides:
walkFlow in class ASTObject
normalizeFlow
public void normalizeFlow(org.aspectj.compiler.base.FlowCheckerPass w)
postCleanup
public ASTObject postCleanup(org.aspectj.compiler.base.ByteCodeCleanupPass w)
- Overrides:
postCleanup in class ASTObject
cgValue
protected void cgValue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
- Description copied from class:
Expr
- Leaves the value of this expression on the stack. May self-call
Expr.cgTest(CodeBuilder, Label, Label).
- Overrides:
cgValue in class Expr
cgEffect
protected void cgEffect(org.aspectj.compiler.base.bcg.CodeBuilder cb)
- Description copied from class:
Expr
- Evaluates the expression in a context where its value is
unnecessary (i.e., from
ExprStmt, or in a FieldAccessExpr when the field is static but there is an
expression there nonetheless). May self-call Expr.cgValue(CodeBuilder).
- Overrides:
cgEffect in class Expr
cgTest
protected void cgTest(org.aspectj.compiler.base.bcg.CodeBuilder cb,
org.aspectj.compiler.base.bcg.Label tdest,
org.aspectj.compiler.base.bcg.Label fdest)
- Description copied from class:
Expr
- Evaluates the expression in a context where its value will
only be used to branch (from
IfStmt, TriTestExpr, WhileStmt, DoStmt, and ForStmt). The expression, of course, will have boolean type.
By default, this evaluates the expression to the stack and
then emits an EQ/NE branch bytecode, but many expressions such
as tests in BinopExpr will be able to do much better.
May self-call Expr.cgValue(CodeBuilder).
- Overrides:
cgTest in class Expr
getTest
public Expr getTest()
setTest
public void setTest(Expr _test)
getTrue
public Expr getTrue()
setTrue
public void setTrue(Expr __true)
getFalse
public Expr getFalse()
setFalse
public void setFalse(Expr __false)
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 Expr