Parent

RubyParser::Environment

Attributes

env[R]
dyn[R]

Public Class Methods

new(dyn = false) click to toggle source
     # File lib/ruby_parser_extras.rb, line 930
930:   def initialize dyn = false
931:     @dyn = []
932:     @env = []
933:     @use = []
934:     self.reset
935:   end

Public Instance Methods

[](k) click to toggle source
     # File lib/ruby_parser_extras.rb, line 897
897:   def [] k
898:     self.all[k]
899:   end
[]=(k, v) click to toggle source
     # File lib/ruby_parser_extras.rb, line 901
901:   def []= k, v
902:     raise "no" if v == true
903:     self.current[k] = v
904:   end
all() click to toggle source
     # File lib/ruby_parser_extras.rb, line 906
906:   def all
907:     idx = @dyn.index(false) || 0
908:     @env[0..idx].reverse.inject { |env, scope| env.merge scope }
909:   end
current() click to toggle source
     # File lib/ruby_parser_extras.rb, line 911
911:   def current
912:     @env.first
913:   end
dynamic() click to toggle source
     # File lib/ruby_parser_extras.rb, line 915
915:   def dynamic
916:     idx = @dyn.index false
917:     @env[0...idx].reverse.inject { |env, scope| env.merge scope } || {}
918:   end
dynamic?() click to toggle source
     # File lib/ruby_parser_extras.rb, line 920
920:   def dynamic?
921:     @dyn[0] != false
922:   end
extend(dyn = false) click to toggle source
     # File lib/ruby_parser_extras.rb, line 924
924:   def extend dyn = false
925:     @dyn.unshift dyn
926:     @env.unshift({})
927:     @use.unshift({})
928:   end
reset() click to toggle source
     # File lib/ruby_parser_extras.rb, line 937
937:   def reset
938:     @dyn.clear
939:     @env.clear
940:     @use.clear
941:     self.extend
942:   end
unextend() click to toggle source
     # File lib/ruby_parser_extras.rb, line 944
944:   def unextend
945:     @dyn.shift
946:     @env.shift
947:     @use.shift
948:     raise "You went too far unextending env" if @env.empty?
949:   end
use(id) click to toggle source
     # File lib/ruby_parser_extras.rb, line 951
951:   def use id
952:     @env.each_with_index do |env, i|
953:       if env[id] then
954:         @use[i][id] = true
955:       end
956:     end
957:   end
used?(id) click to toggle source
     # File lib/ruby_parser_extras.rb, line 959
959:   def used? id
960:     idx = @dyn.index false # REFACTOR
961:     u = @use[0...idx].reverse.inject { |env, scope| env.merge scope } || {}
962:     u[id]
963:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.