Class: YARP::DefinedNode

Inherits:
YARPNode
  • Object
show all
Defined in:
lib/yarp/node.rb,
ext/yarp/api_node.c

Overview

Represents the use of the ‘defined?` keyword.

defined?(a)
^^^^^^^^^^^

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lparen_loc, value, rparen_loc, keyword_loc, location) ⇒ DefinedNode

def initialize: (lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location) -> void



2027
2028
2029
2030
2031
2032
2033
# File 'lib/yarp/node.rb', line 2027

def initialize(lparen_loc, value, rparen_loc, keyword_loc, location)
  @lparen_loc = lparen_loc
  @value = value
  @rparen_loc = rparen_loc
  @keyword_loc = keyword_loc
  @location = location
end

Instance Attribute Details

#keyword_locObject (readonly)

attr_reader keyword_loc: Location



2024
2025
2026
# File 'lib/yarp/node.rb', line 2024

def keyword_loc
  @keyword_loc
end

#lparen_locObject (readonly)

attr_reader lparen_loc: Location?



2015
2016
2017
# File 'lib/yarp/node.rb', line 2015

def lparen_loc
  @lparen_loc
end

#rparen_locObject (readonly)

attr_reader rparen_loc: Location?



2021
2022
2023
# File 'lib/yarp/node.rb', line 2021

def rparen_loc
  @rparen_loc
end

#valueObject (readonly)

attr_reader value: Node



2018
2019
2020
# File 'lib/yarp/node.rb', line 2018

def value
  @value
end

Instance Method Details

#accept(visitor) ⇒ Object

def accept: (visitor: Visitor) -> void



2036
2037
2038
# File 'lib/yarp/node.rb', line 2036

def accept(visitor)
  visitor.visit_defined_node(self)
end

#child_nodesObject Also known as: deconstruct

def child_nodes: () -> Array[nil | Node]



2042
2043
2044
# File 'lib/yarp/node.rb', line 2042

def child_nodes
  [value]
end

#deconstruct_keys(keys) ⇒ Object

def deconstruct_keys: (keys: Array) -> Hash[Symbol, nil | Node | Array | String | Token | Array | Location]



2050
2051
2052
# File 'lib/yarp/node.rb', line 2050

def deconstruct_keys(keys)
  { lparen_loc: lparen_loc, value: value, rparen_loc: rparen_loc, keyword_loc: keyword_loc, location: location }
end

#keywordObject

def keyword: () -> String



2065
2066
2067
# File 'lib/yarp/node.rb', line 2065

def keyword
  keyword_loc.slice
end

#lparenObject

def lparen: () -> String?



2055
2056
2057
# File 'lib/yarp/node.rb', line 2055

def lparen
  lparen_loc&.slice
end

#rparenObject

def rparen: () -> String?



2060
2061
2062
# File 'lib/yarp/node.rb', line 2060

def rparen
  rparen_loc&.slice
end