Package org.jruby.ast

Class LocalAsgnNode

All Implemented Interfaces:
IScopedNode, INameNode

public class LocalAsgnNode extends AssignableNode implements INameNode, IScopedNode
An assignment to a local variable.
  • Constructor Details

    • LocalAsgnNode

      public LocalAsgnNode(int line, RubySymbol name, int location, Node valueNode)
  • Method Details

    • getNodeType

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

      public <T> T accept(NodeVisitor<T> iVisitor)
      Accept for the visitor pattern.
      Specified by:
      accept in class Node
      Parameters:
      iVisitor - the visitor
    • getName

      public RubySymbol getName()
      Name of the local assignment.
      Specified by:
      getName in interface INameNode
    • getDepth

      public int getDepth()
      How many scopes should we burrow down to until we need to set the block variable value.
      Specified by:
      getDepth in interface IScopedNode
      Returns:
      0 for current scope, 1 for one down, ...
    • getIndex

      public int getIndex()
      Gets the index within the scope construct that actually holds the eval'd value of this local variable
      Specified by:
      getIndex in interface IScopedNode
      Returns:
      Returns an int offset into storage structure
    • childNodes

      public List<Node> childNodes()
      Specified by:
      childNodes in class Node
    • needsDefinitionCheck

      public boolean needsDefinitionCheck()
      Description copied from class: Node
      Check whether the given node is considered always "defined" or whether it has some form of definition check.
      Overrides:
      needsDefinitionCheck in class Node
      Returns:
      Whether the type of node represents a possibly undefined construct