org.aspectj.compiler.base.ast
Class AddOpExpr

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.BinopExpr
                      extended byorg.aspectj.compiler.base.ast.AddOpExpr

public class AddOpExpr
extends BinopExpr


Field Summary
 
Fields inherited from class org.aspectj.compiler.base.ast.BinopExpr
op, rand1, rand2
 
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 AddOpExpr(SourceLocation source)
           
  AddOpExpr(SourceLocation location, Expr _rand1, java.lang.String _op, Expr _rand2)
           
 
Method Summary
protected  void cgBuffer(org.aspectj.compiler.base.bcg.CodeBuilder cb)
          Evaluates the expression in a context where the top of the stack contains a StringBuffer object.
protected  void cgOp(org.aspectj.compiler.base.bcg.CodeBuilder cb, Type ty)
          Generate code that takes the top two values on the stack and replaces it with the one value that is appropriate.
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 lit1, LiteralExpr lit2)
          returns a new unfinished ASTObject, that still needs to have ASTObject.setSource(org.aspectj.compiler.base.ast.ASTObject) called on it.
 
Methods inherited from class org.aspectj.compiler.base.ast.BinopExpr
build, cgEffect, getChildAt, getChildCount, getChildNameAt, getOp, getRand1, getRand2, postAssignmentCheck, setChildAt, setOp, setRand1, setRand2, unparse
 
Methods inherited from class org.aspectj.compiler.base.ast.Expr
assertType, canBeCopied, cgTest, 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, walkFlow, 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

AddOpExpr

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

AddOpExpr

protected AddOpExpr(SourceLocation source)
Method Detail

halfFold

protected LiteralExpr halfFold(Type type,
                               LiteralExpr lit1,
                               LiteralExpr lit2)
Description copied from class: BinopExpr
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 BinopExpr

discoverType

protected Type discoverType()
Specified by:
discoverType in class Expr

getLiftType

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

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

cgBuffer

protected void cgBuffer(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Description copied from class: Expr
Evaluates the expression in a context where the top of the stack contains a StringBuffer object. The value of this expression is then appended into the StringBuffer. This is used in evaluating the String + operator. May self-call Expr.cgValue(CodeBuilder).

Overrides:
cgBuffer in class Expr

cgOp

protected void cgOp(org.aspectj.compiler.base.bcg.CodeBuilder cb,
                    Type ty)
Description copied from class: BinopExpr
Generate code that takes the top two values on the stack and replaces it with the one value that is appropriate. This is only used by non-effect operators, and is sometimes called from AssignExpr.

Specified by:
cgOp in class BinopExpr

copyWalk

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

getDefaultDisplayName

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