org.aspectj.compiler.base.ast
Class LogNotOpExpr

java.lang.Object
  extended byorg.aspectj.compiler.base.CompilerObject
      extended byorg.aspectj.compiler.base.ast.ASTObject
          extended byorg.aspectj.compiler.base.ast.Expr
              extended byorg.aspectj.compiler.base.ast.JavaExpr
                  extended byorg.aspectj.compiler.base.ast.UnopExpr
                      extended byorg.aspectj.compiler.base.ast.LogNotOpExpr

public class LogNotOpExpr
extends UnopExpr


Field Summary
 
Fields inherited from class org.aspectj.compiler.base.ast.UnopExpr
op, rand1
 
Fields inherited from class org.aspectj.compiler.base.ast.Expr
type
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
protected LogNotOpExpr(SourceLocation source)
           
  LogNotOpExpr(SourceLocation location, java.lang.String _op, Expr _rand1)
           
 
Method Summary
protected  void cgTest(org.aspectj.compiler.base.bcg.CodeBuilder cb, org.aspectj.compiler.base.bcg.Label tdest, org.aspectj.compiler.base.bcg.Label fdest)
          Evaluates the expression in a context where its value will only be used to branch (from IfStmt, TriTestExpr, WhileStmt, DoStmt, and ForStmt).
protected  void cgValue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
          Leaves the value of this expression on the stack.
 ASTObject copyWalk(CopyWalker walker)
           
protected  Type discoverType()
           
 java.lang.String getDefaultDisplayName()
           
protected  Type getLiftType()
           
protected  LiteralExpr halfFold(Type type, LiteralExpr lit)
          returns a new unfinished ASTObject, that still needs to have ASTObject.setSource(org.aspectj.compiler.base.ast.ASTObject) called on it.
 void normalizeFlow(org.aspectj.compiler.base.FlowCheckerPass w)
           
 void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.UnopExpr
bindNamesSelf, build, build, cgEffect, getChildAt, getChildCount, getChildNameAt, getOp, getRand1, postAssignmentCheck, setChildAt, setOp, setRand1, showOperatorTypeError, toExpr, unparse
 
Methods inherited from class org.aspectj.compiler.base.ast.Expr
assertType, canBeCopied, cgBuffer, cgValue, checkSpec, 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, postCleanup, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, 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
 

Constructor Detail

LogNotOpExpr

public LogNotOpExpr(SourceLocation location,
                    java.lang.String _op,
                    Expr _rand1)

LogNotOpExpr

protected LogNotOpExpr(SourceLocation source)
Method Detail

halfFold

protected LiteralExpr halfFold(Type type,
                               LiteralExpr lit)
Description copied from class: UnopExpr
returns a new unfinished ASTObject, that still needs to have ASTObject.setSource(org.aspectj.compiler.base.ast.ASTObject) called on it.

Specified by:
halfFold in class UnopExpr

discoverType

protected Type discoverType()
Overrides:
discoverType in class UnopExpr

getLiftType

protected Type getLiftType()
Specified by:
getLiftType in class UnopExpr

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)

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

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

copyWalk

public ASTObject copyWalk(CopyWalker walker)
Overrides:
copyWalk in class ASTObject

getDefaultDisplayName

public java.lang.String getDefaultDisplayName()
Overrides:
getDefaultDisplayName in class UnopExpr