org.extendj.ast
node type LabeledStmt

General Info

Production
LabeledStmt : BranchTargetStmt ::= <Label:String> Stmt;
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.BranchTargetStmt
                  extended by org.extendj.ast.LabeledStmt
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 195

Member Filters

API level:

Aspect:

Constructors

public LabeledStmt()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public LabeledStmt(java.lang.String p0,
                   Stmt p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13
public LabeledStmt(beaver.Symbol p0,
                   Stmt p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 17

Attributes

Overrides:potentialTargetOf in class BranchTargetStmt
Returns:
true if this statement is a potential branch target of the given branch statement.
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 217
Aspect
BranchTarget
@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 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
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 1380
Aspect
CreateBCode
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1381
Aspect
CreateBCode
Overrides:break_label in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1621
Aspect
CreateBCode
Overrides:continue_label in class Stmt
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1645
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/frontend/BranchTarget.jrag at line 251
Aspect
BranchTarget

Methods

public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 431
Aspect
NameCheck
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 155
Aspect
Java4PrettyPrint
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 1382
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 BranchTargetStmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class BranchTargetStmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 24
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class BranchTargetStmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 30
public void flushAttrCache()
Overrides:flushAttrCache in class BranchTargetStmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 36
public void flushCollectionCache()
Overrides:flushCollectionCache in class BranchTargetStmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 48
public void flushRewriteCache()
Overrides:flushRewriteCache in class BranchTargetStmt
Source
Declared in /home/jesper/git/extendj/ASTNode at line 54
public LabeledStmt clone()
                  throws java.lang.CloneNotSupportedException
Overrides:clone in class BranchTargetStmt
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 60
public LabeledStmt copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 67
@Deprecated
public LabeledStmt 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 BranchTargetStmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 86
public LabeledStmt 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 BranchTargetStmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 96
public LabeledStmt 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 BranchTargetStmt
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 116
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 123
public void setLabel(java.lang.String value)
Replaces the lexeme Label.
Parameters:
value - The new value for the lexeme Label.
public void setLabel(beaver.Symbol symbol)
JastAdd-internal setter for lexeme Label using the Beaver parser.
Parameters:
symbol - Symbol containing the new value for the lexeme Label
@ASTNodeAnnotation.Token(name="Label")
public java.lang.String getLabel()
Retrieves the value for the lexeme Label.
Returns:
The value for the lexeme Label.
public void setStmt(Stmt node)
Replaces the Stmt child.
Parameters:
node - The new node to replace the Stmt child.
Retrieves the Stmt child.
Returns:
The current node used as the Stmt child.
Retrieves the Stmt child.

This method does not invoke AST transformations.

Returns:
The current node used as the Stmt child.
public Stmt Define_branchTarget(ASTNode caller,
                                ASTNode child,
                                Stmt branch)
Overrides:Define_branchTarget in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 227
protected boolean canDefine_branchTarget(ASTNode caller,
                                         ASTNode child,
                                         Stmt branch)
public LabeledStmt Define_lookupLabel(ASTNode caller,
                                      ASTNode child,
                                      java.lang.String name)
Overrides:Define_lookupLabel in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 250
protected boolean canDefine_lookupLabel(ASTNode caller,
                                        ASTNode child,
                                        java.lang.String name)
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)
Overrides:rewriteTo in class BranchTargetStmt

Fields

protected java.lang.String tokenString_Label
public int Labelstart
public int Labelend
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean canCompleteNormally_value
protected boolean label_computed
protected int label_value
protected boolean end_label_computed
protected int end_label_value
protected java.util.Map lookupLabel_String_values

Inherited Members

Attributes inherited from org.extendj.ast.BranchTargetStmt

Attributes inherited from org.extendj.ast.Stmt

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.BranchTargetStmt

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

Fields inherited from org.extendj.ast.Stmt

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value