org.extendj.ast
node type SynchronizedStmt

General Info

Production
SynchronizedStmt : Stmt ::= Expr Block MonitorExit;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Stmt
              extended by org.extendj.ast.SynchronizedStmt
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 213

Member Filters

API level:

Aspect:

Constructors

public SynchronizedStmt()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public SynchronizedStmt(Expr p0,
                        Block p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

@ASTNodeAnnotation.Attribute
syn boolean isDAafter(org.extendj.ast.Variable v)
Overrides:isDAafter in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 257
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDUafterFinally(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 1051
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDAafterFinally(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 1054
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUafter(org.extendj.ast.Variable v)
Overrides:isDUafter in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 781
Aspect
DU
Source
Declared in /home/jesper/git/extendj/java4/frontend/MonitorExit.jrag at line 32
Aspect
MonitorExit
Overrides:canCompleteNormally in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 53
Aspect
UnreachableStatements
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1630
Aspect
CreateBCode
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Specified by:modifiedInScope in class Stmt
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 84
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java4/backend/NTAFinally.jrag at line 32
Aspect
NTAFinally

Methods

Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 1046
Aspect
DU
public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrint.jadd at line 202
Aspect
Java4PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 424
Aspect
TypeCheck
public void emitMonitorEnter(org.extendj.ast.CodeGeneration gen)
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1793
Aspect
CreateBCode
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1811
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 Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 44
public void flushRewriteCache()
Overrides:flushRewriteCache in class Stmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 50
public SynchronizedStmt clone()
                       throws java.lang.CloneNotSupportedException
Overrides:clone in class Stmt
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 56
public SynchronizedStmt copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 63
@Deprecated
public SynchronizedStmt 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 Stmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 82
public SynchronizedStmt 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 Stmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 92
public SynchronizedStmt 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 Stmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 117
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 124
public void setExpr(Expr node)
Replaces the Expr child.
Parameters:
node - The new node to replace the Expr child.
Retrieves the Expr child.
Returns:
The current node used as the Expr child.
Retrieves the Expr child.

This method does not invoke AST transformations.

Returns:
The current node used as the Expr child.
public void setBlock(Block node)
Replaces the Block child.
Parameters:
node - The new node to replace the Block child.
Retrieves the Block child.
Returns:
The current node used as the Block child.
Retrieves the Block child.

This method does not invoke AST transformations.

Returns:
The current node used as the Block child.
Retrieves the MonitorExit child.

This method does not invoke AST transformations.

Returns:
The current node used as the MonitorExit child.
Retrieves the child position of the optional child MonitorExit.
Returns:
The the child position of the optional child MonitorExit.
public org.extendj.ast.FinallyHost Define_enclosingFinally(ASTNode caller,
                                                           ASTNode child,
                                                           Stmt branch)
Overrides:Define_enclosingFinally in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 262
protected boolean canDefine_enclosingFinally(ASTNode caller,
                                             ASTNode child,
                                             Stmt branch)
public boolean Define_isDAbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDAbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 255
protected boolean canDefine_isDAbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public boolean Define_isDUbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDUbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 779
protected boolean canDefine_isDUbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public boolean Define_reachable(ASTNode caller,
                                ASTNode child)
Overrides:Define_reachable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 52
protected boolean canDefine_reachable(ASTNode caller,
                                      ASTNode child)
public boolean Define_reportUnreachable(ASTNode caller,
                                        ASTNode child)
Overrides:Define_reportUnreachable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 283
protected boolean canDefine_reportUnreachable(ASTNode caller,
                                              ASTNode child)
public boolean Define_leavesMonitor(ASTNode caller,
                                    ASTNode child,
                                    Stmt branch,
                                    SynchronizedStmt monitor)
Overrides:Define_leavesMonitor in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1836
protected boolean canDefine_leavesMonitor(ASTNode caller,
                                          ASTNode child,
                                          Stmt branch,
                                          SynchronizedStmt monitor)
public int Define_localNum(ASTNode caller,
                           ASTNode child)
Overrides:Define_localNum in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 64
protected boolean canDefine_localNum(ASTNode caller,
                                     ASTNode child)
Overrides:rewriteTo in class Stmt
public boolean isDUafterFinally(org.extendj.ast.Variable v)
public boolean isDAafterFinally(org.extendj.ast.Variable v)
public org.extendj.ast.FinallyHost enclosingFinally(Stmt branch)

Fields

protected int monitorId
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1809
Aspect
CreateBCode
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean getMonitorExit_computed
protected boolean canCompleteNormally_value
protected boolean start_label_computed
protected int start_label_value
protected boolean label_end_computed
protected int label_end_value

Inherited Members

Attributes inherited from org.extendj.ast.Stmt

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.Stmt

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.Stmt

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value