org.extendj.ast
node type PreDecExpr

General Info

Production
PreDecExpr : Unary;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Expr
              extended by org.extendj.ast.Unary
                  extended by org.extendj.ast.PreDecExpr
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 135

Member Filters

API level:

Aspect:

Constructors

public PreDecExpr()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public PreDecExpr(Expr p0)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

Overrides:printPreOp in class Unary
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 310
Aspect
PrettyPrintUtil
Overrides:needsPop in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 251
Aspect
CreateBCode
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Overrides:modifiedInScope in class Unary
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 149
Aspect
PreciseRethrow
Overrides:stmtCompatible in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaExpr.jrag at line 144
Aspect
StmtCompatible

Methods

public void definiteAssignment()
Overrides:definiteAssignment in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 104
Aspect
DefiniteAssignment
protected boolean checkDUeverywhere(org.extendj.ast.Variable v)
Overrides:checkDUeverywhere in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 537
Aspect
DA
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 363
Aspect
TypeCheck
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class Unary
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 963
Aspect
CreateBCode
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Unary
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Unary
Source
Declared in /home/jesper/git/extendj/ASTNode at line 19
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Unary
Source
Declared in /home/jesper/git/extendj/ASTNode at line 25
public void flushAttrCache()
Overrides:flushAttrCache in class Unary
Source
Declared in /home/jesper/git/extendj/ASTNode at line 31
public void flushCollectionCache()
Overrides:flushCollectionCache in class Unary
Source
Declared in /home/jesper/git/extendj/ASTNode at line 38
public void flushRewriteCache()
Overrides:flushRewriteCache in class Unary
Source
Declared in /home/jesper/git/extendj/ASTNode at line 44
public PreDecExpr clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class Unary
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 50
public PreDecExpr copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 57
@Deprecated
public PreDecExpr fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Specified by:fullCopy in class Unary
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 76
public PreDecExpr treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Specified by:treeCopyNoTransform in class Unary
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 86
public PreDecExpr treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Specified by:treeCopy in class Unary
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 106
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 113
public void setOperand(Expr node)
Replaces the Operand child.
Overrides:setOperand in class Unary
Parameters:
node - The new node to replace the Operand child.
Retrieves the Operand child.
Overrides:getOperand in class Unary
Returns:
The current node used as the Operand child.
Retrieves the Operand child.

This method does not invoke AST transformations.

Overrides:getOperandNoTransform in class Unary
Returns:
The current node used as the Operand child.
public boolean Define_isDest(ASTNode caller,
                             ASTNode child)
Overrides:Define_isDest in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 37
protected boolean canDefine_isDest(ASTNode caller,
                                   ASTNode child)
public boolean Define_isIncOrDec(ASTNode caller,
                                 ASTNode child)
Overrides:Define_isIncOrDec in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 71
protected boolean canDefine_isIncOrDec(ASTNode caller,
                                       ASTNode child)
Overrides:rewriteTo in class Unary

Fields

protected boolean stmtCompatible_computed
protected boolean stmtCompatible_value

Inherited Members

Attributes inherited from org.extendj.ast.Unary

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.Unary

Methods inherited from class org.extendj.ast.Expr

Methods inherited from class org.extendj.ast.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Fields inherited from org.extendj.ast.Unary

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value