jltools.ext.jl.ast
Class Synchronized_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.Stmt_c
              |
              +--jltools.ext.jl.ast.Synchronized_c
All Implemented Interfaces:
java.lang.Cloneable, Copy, Node, java.io.Serializable, Stmt, Synchronized

public class Synchronized_c
extends Stmt_c
implements Synchronized

An immutable representation of a Java language synchronized block. Contains an expression being tested and a statement to be executed while the expression is true.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Field Summary
protected  <>Block body
           
protected  Expr expr
           
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Constructor Summary
Synchronized_c(Ext ext, Position pos, Expr expr, <>Block body)
           
 
Method Summary
 <>Block body()
          Get the body of the statement.
 Synchronized body(<>Block body)
          Set the body of the statement.
 Expr expr()
          Get the expression to synchronize.
 Synchronized expr(Expr expr)
          Set the expression to synchronize.
protected  Synchronized_c reconstruct(Expr expr, <>Block body)
          Reconstruct the statement.
 java.lang.String toString()
           
 void translate_(CodeWriter w, Translator tr)
          Write the statement to an output file.
 Node typeCheck_(TypeChecker tc)
          Type check the statement.
 Node visitChildren(NodeVisitor v)
          Visit the children of the statement.
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes_, buildTypes, buildTypesOverride_, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride_, disambiguateTypesOverride, dump, enterScope, exceptionCheck_, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, leaveScope, position, position, reconstructTypes_, reconstructTypes, translate, translateBlock, translateSubstmt, typeCheck, typeCheckOverride_, typeCheckOverride, visit, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jltools.ast.Synchronized
body
 
Methods inherited from interface jltools.ast.Node
buildTypes_, buildTypesOverride_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, disambiguateTypesOverride_, dump, enterScope, exceptionCheck_, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, reconstructTypes_, typeCheckOverride_, visit
 

Field Detail

expr

protected Expr expr

body

protected <>Block body
Constructor Detail

Synchronized_c

public Synchronized_c(Ext ext,
                      Position pos,
                      Expr expr,
                      <>Block body)
Method Detail

expr

public Expr expr()
Get the expression to synchronize.
Specified by:
expr in interface Synchronized

expr

public Synchronized expr(Expr expr)
Set the expression to synchronize.
Specified by:
expr in interface Synchronized

body

public <>Block body()
Get the body of the statement.
Specified by:
body in interface Synchronized

body

public Synchronized body(<>Block body)
Set the body of the statement.

reconstruct

protected Synchronized_c reconstruct(Expr expr,
                                     <>Block body)
Reconstruct the statement.

visitChildren

public Node visitChildren(NodeVisitor v)
Visit the children of the statement.
Specified by:
visitChildren in interface Node
Overrides:
visitChildren in class Node_c

typeCheck_

public Node typeCheck_(TypeChecker tc)
                throws SemanticException
Type check the statement.
Specified by:
typeCheck_ in interface Node
Overrides:
typeCheck_ in class Node_c

toString

public java.lang.String toString()
Overrides:
toString in class Node_c

translate_

public void translate_(CodeWriter w,
                       Translator tr)
Write the statement to an output file.
Specified by:
translate_ in interface Node
Overrides:
translate_ in class Node_c
Following copied from interface: jltools.ast.Node
Parameters:
w - The code writer to which to write.
tr - The translation pass. This is not a visitor.