Class: Parser::AST::Node
- Inherits:
-
Object
- Object
- Parser::AST::Node
- Defined in:
- lib/ruby_friendly_error/ast.rb
Constant Summary collapse
- CLASS_VARIABLE_ASSIGNED_TYPE =
:cvasgn- CLASS_VARIABLE_TYPE =
:cvar- INSTANCE_VARIABLE_ASSIGNED_TYPE =
:ivasgn- INSTANCE_VARIABLE_TYPE =
:ivar- LOCAL_VARIABLE_ASSIGNED_TYPE =
:lvasgn- VARIABLE_TYPES =
[ CLASS_VARIABLE_ASSIGNED_TYPE, CLASS_VARIABLE_TYPE, INSTANCE_VARIABLE_ASSIGNED_TYPE, INSTANCE_VARIABLE_TYPE, LOCAL_VARIABLE_ASSIGNED_TYPE, ].freeze
- ARG_TYPE =
:arg- OPTION_ARG_TYPE =
:optarg- REST_ARG_TYPE =
:restarg- BLOCK_ARG_TYPE =
:blockarg- KEYWORD_ARG_TYPE =
:kwarg- KEYWORD_ARG_OPTION_TYPE =
:kwoptarg- KEYWORD_REST_ARG_TYPE =
:kwrestarg- ARG_TYPES =
[ ARG_TYPE, OPTION_ARG_TYPE, REST_ARG_TYPE, BLOCK_ARG_TYPE, KEYWORD_ARG_TYPE, KEYWORD_ARG_OPTION_TYPE, KEYWORD_REST_ARG_TYPE, ].freeze
Instance Method Summary collapse
Instance Method Details
#find_by_variable_name(variable_name) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ruby_friendly_error/ast.rb', line 38 def find_by_variable_name variable_name to_a.each do |node| next unless node.is_a? Parser::AST::Node if VARIABLE_TYPES.include?(node.type) || ARG_TYPES.include?(node.type) return node if node.to_a[0].to_s.sub(/^@*/, '') == variable_name.to_s end result = node.find_by_variable_name(variable_name) return result if result end nil end |