Class Nodes.LocalVariableReadNode

java.lang.Object
org.prism.Nodes.Node
org.prism.Nodes.LocalVariableReadNode
Enclosing class:
Nodes

public static final class Nodes.LocalVariableReadNode extends Nodes.Node
 Represents reading a local variable. Note that this requires that a local variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call.

     foo
     ^^^
 
  • Field Details

    • name

      public final org.jruby.RubySymbol name
       The name of the local variable, which is an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
      
           x      # name `:x`
      
           _Test  # name `:_Test`
      
       Note that this can also be an underscore followed by a number for the default block parameters.
      
           _1     # name `:_1`
       
    • depth

      public final int depth
       The number of visible scopes that should be searched to find the origin of this local variable.
      
           foo = 1; foo # depth 0
      
           bar = 2; tap { bar } # depth 1
      
       The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md).
       
  • Constructor Details

    • LocalVariableReadNode

      public LocalVariableReadNode(int startOffset, int length, org.jruby.RubySymbol name, int depth)
  • Method Details