Class: Prism::Scope

Inherits:
Object
  • Object
show all
Defined in:
lib/prism/parse_result.rb,
ext/prism/extension.c

Overview

This object is passed to the various Prism.* methods that accept the ‘scopes` option as an element of the list. It defines both the local variables visible at that scope as well as the forwarding parameters available at that scope.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(locals, forwarding) ⇒ Scope

Create a new scope object with the given locals and forwarding.



899
900
901
902
# File 'lib/prism/parse_result.rb', line 899

def initialize(locals, forwarding)
  @locals = locals
  @forwarding = forwarding
end

Instance Attribute Details

#forwardingObject (readonly)

The list of local variables that are forwarded to the next scope. This should by defined as an array of symbols containing the specific values of :*, :**, :&, or :“…”.



896
897
898
# File 'lib/prism/parse_result.rb', line 896

def forwarding
  @forwarding
end

#localsObject (readonly)

The list of local variables that are defined in this scope. This should be defined as an array of symbols.



891
892
893
# File 'lib/prism/parse_result.rb', line 891

def locals
  @locals
end