tip.node
Class TLBrace

java.lang.Object
  extended by tip.node.Node
      extended by tip.node.Token
          extended by tip.node.TLBrace
All Implemented Interfaces:
Cloneable, NodeInterface

public final class TLBrace
extends Token

TLBrace represents a '{' token from the input file.


Constructor Summary
TLBrace()
          Creates a new TLBrace token with no line and position information.
TLBrace(int line, int pos)
          Creates a new TLBrace token with the given line and position information.
TLBrace(Token token)
          Creates a new TLBrace token that is an alias of the given token.
 
Method Summary
 void apply(Analysis caller)
          Calls the Analysis.caseTLBrace(TLBrace) of the Analysis caller.
<A> A
apply(Answer<A> caller)
          Returns the answer for caller by applying this TLBrace node to the Answer visitor.
<Q> void
apply(Question<Q> caller, Q question)
          Applies this TLBrace node to the Question visitor caller.
<Q,A> A
apply(QuestionAnswer<Q,A> caller, Q question)
          Returns the answer for caller by applying this TLBrace node with the question to the QuestionAnswer visitor.
 TLBrace clone()
          Creates a clone of this TLBrace token.
 TLBrace clone(Map<Node,Node> oldToNewMap)
          Creates a deep clone of this TLBrace token while putting all old node-new node relations in the map oldToNewMap.
 TokenEnum kindToken()
          Returns the TokenEnum corresponding to the type of this Token node.
 void setText(String text)
          Implements the Token.setText(String) method.
 
Methods inherited from class tip.node.Token
checkOptionalInvariant, getChildren, getDescendants, getLine, getPos, getText, getToken, kindNode, setLine, setPos, toString
 
Methods inherited from class tip.node.Node
getAncestor, getAncestor, getAncestor, getChildren, getChildren, getDescendants, getDescendants, getDescendants, isOptionalInvariant, parent, replaceBy, setOptionalInvariant
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TLBrace

public TLBrace()
Creates a new TLBrace token with no line and position information.


TLBrace

public TLBrace(int line,
               int pos)
Creates a new TLBrace token with the given line and position information.

Parameters:
line - the line number information for this TLBrace token
pos - the line position information for this TLBrace token

TLBrace

public TLBrace(Token token)
Creates a new TLBrace token that is an alias of the given token.

Parameters:
token - the original token for this TLBrace token
Method Detail

clone

public TLBrace clone()
Creates a clone of this TLBrace token.

Specified by:
clone in interface NodeInterface
Specified by:
clone in class Token
Returns:
a clone of this TLBrace token

clone

public TLBrace clone(Map<Node,Node> oldToNewMap)
Creates a deep clone of this TLBrace token while putting all old node-new node relations in the map oldToNewMap.

Specified by:
clone in interface NodeInterface
Specified by:
clone in class Token
Parameters:
oldToNewMap - the map filled with the old node-new node relation
Returns:
a clone of this TLBrace token

kindToken

public TokenEnum kindToken()
Returns the TokenEnum corresponding to the type of this Token node.

Specified by:
kindToken in class Token
Returns:
the TokenEnum for this node

setText

public void setText(String text)
Implements the Token.setText(String) method. Since TLBrace represents fixed token, this method throws a RuntimeException.

Overrides:
setText in class Token
Parameters:
text - the new text of this token

apply

public void apply(Analysis caller)
Calls the Analysis.caseTLBrace(TLBrace) of the Analysis caller.

Specified by:
apply in interface NodeInterface
Specified by:
apply in class Node
Parameters:
sw - the Analysis to which this TLBrace node is applied

apply

public <A> A apply(Answer<A> caller)
Returns the answer for caller by applying this TLBrace node to the Answer visitor.

Specified by:
apply in interface NodeInterface
Specified by:
apply in class Node
Parameters:
caller - the Answer to which this node is applied
Returns:
the answer as returned from caller

apply

public <Q> void apply(Question<Q> caller,
                      Q question)
Applies this TLBrace node to the Question visitor caller.

Specified by:
apply in interface NodeInterface
Specified by:
apply in class Node
Parameters:
caller - the Question to which this node is applied
question - the question provided to caller

apply

public <Q,A> A apply(QuestionAnswer<Q,A> caller,
                     Q question)
Returns the answer for caller by applying this TLBrace node with the question to the QuestionAnswer visitor.

Specified by:
apply in interface NodeInterface
Specified by:
apply in class Node
Parameters:
caller - the QuestionAnswer to which this node is applied
question - the question provided to caller
Returns:
the answer as returned from caller