org.jrubyparser.ast
Class UnaryCallNode

java.lang.Object
  extended by org.jrubyparser.ast.Node
      extended by org.jrubyparser.ast.UnaryCallNode
All Implemented Interfaces:
INameMatchable, INameNode, ISourcePositionHolder

public class UnaryCallNode
extends Node
implements INameNode

An operator call on one of the unary operators '+' or '-' that lexically appears to have the same name as the binary operator, but semantically has a name decorated with an '@' sigil. These two operators are syntactically distinct from use of other operators, so they are made distinct in the AST with this node.


Field Summary
protected  String lexicalName
           
 
Constructor Summary
UnaryCallNode(SourcePosition position, Node receiverNode, String lexicalName)
           
 
Method Summary
 Object accept(NodeVisitor iVisitor)
          Accept for the visitor pattern.
 String getLexicalName()
          Gets the name as it lexically appears in the source code, undecorated by the '@' sigil.
 SourcePosition getLexicalNamePosition()
          The position of the name + any sigils that come with it.
 String getName()
          Gets the name as it is semantically, decorated by the '@' sigil.
 SourcePosition getNamePosition()
          The position of just the name part of the node.
 NodeType getNodeType()
           
 Node getReceiver()
           
 Node getReceiverNode()
          Deprecated. 
 boolean hasParens()
           
 boolean isLexicalNameMatch(String name)
           
 boolean isNameMatch(String name)
           
 boolean isSame(Node node)
          Checks node for 'sameness' for diffing.
 void setHasParens(boolean hasParens)
           
 void setLexicalName(String lexicalName)
           
 void setName(String name)
          Set the name (name should not include sigils).
 void setReceiver(Node receiver)
           
 
Methods inherited from class org.jrubyparser.ast.Node
adopt, adopt, adoptUsingNodesPosition, childNodes, comparePositionWith, createList, getClosestIScope, getClosestModule, getGrandParent, getInlineComment, getInnermostIter, getMethodFor, getNodeAt, getNodeName, getOutermostIter, getParent, getPosition, getPositionIncludingComments, getPreviousComments, insertAfter, insertAll, insertBefore, insertNode, isBlockParameter, isDescendentOf, isLeaf, isMethodParameter, setParent, setPosition, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lexicalName

protected String lexicalName
Constructor Detail

UnaryCallNode

public UnaryCallNode(SourcePosition position,
                     Node receiverNode,
                     String lexicalName)
Method Detail

isSame

public boolean isSame(Node node)
Description copied from class: Node
Checks node for 'sameness' for diffing.

Overrides:
isSame in class Node
Parameters:
node - The node to be compared to.
Returns:
Returns a boolean.

getNodeType

public NodeType getNodeType()
Specified by:
getNodeType in class Node
Returns:
the nodeId

accept

public Object accept(NodeVisitor iVisitor)
Accept for the visitor pattern.

Specified by:
accept in class Node
Parameters:
iVisitor - the visitor

hasParens

public boolean hasParens()

setHasParens

public void setHasParens(boolean hasParens)

getLexicalName

public String getLexicalName()
Gets the name as it lexically appears in the source code, undecorated by the '@' sigil.

Specified by:
getLexicalName in interface INameNode

getName

public String getName()
Gets the name as it is semantically, decorated by the '@' sigil.

Specified by:
getName in interface INameNode

setLexicalName

public void setLexicalName(String lexicalName)

setName

public void setName(String name)
Description copied from interface: INameNode
Set the name (name should not include sigils).

Specified by:
setName in interface INameNode

isLexicalNameMatch

public boolean isLexicalNameMatch(String name)

isNameMatch

public boolean isNameMatch(String name)
Specified by:
isNameMatch in interface INameMatchable

getReceiverNode

@Deprecated
public Node getReceiverNode()
Deprecated. 

Gets the receiverNode. receiverNode is the object on which the method is being called

Returns:
receiverNode

getReceiver

public Node getReceiver()

setReceiver

public void setReceiver(Node receiver)

getNamePosition

public SourcePosition getNamePosition()
Description copied from interface: INameNode
The position of just the name part of the node.

Specified by:
getNamePosition in interface INameNode

getLexicalNamePosition

public SourcePosition getLexicalNamePosition()
Description copied from interface: INameNode
The position of the name + any sigils that come with it.

Specified by:
getLexicalNamePosition in interface INameNode


Copyright © 2013. All Rights Reserved.