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



2000
2001
2002
2003
2004
2005
2006
# File 'lib/yarp/node.rb', line 2000

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



1997
1998
1999
# File 'lib/yarp/node.rb', line 1997

def keyword_loc
  @keyword_loc
end

#lparen_locObject (readonly)

attr_reader lparen_loc: Location?



1988
1989
1990
# File 'lib/yarp/node.rb', line 1988

def lparen_loc
  @lparen_loc
end

#rparen_locObject (readonly)

attr_reader rparen_loc: Location?



1994
1995
1996
# File 'lib/yarp/node.rb', line 1994

def rparen_loc
  @rparen_loc
end

#valueObject (readonly)

attr_reader value: Node



1991
1992
1993
# File 'lib/yarp/node.rb', line 1991

def value
  @value
end

Instance Method Details

#accept(visitor) ⇒ Object

def accept: (visitor: Visitor) -> void



2009
2010
2011
# File 'lib/yarp/node.rb', line 2009

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

#child_nodesObject Also known as: deconstruct

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



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

def child_nodes
  [value]
end

#deconstruct_keys(keys) ⇒ Object

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



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

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



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

def keyword
  keyword_loc.slice
end

#lparenObject

def lparen: () -> String?



2027
2028
2029
# File 'lib/yarp/node.rb', line 2027

def lparen
  lparen_loc&.slice
end

#rparenObject

def rparen: () -> String?



2032
2033
2034
# File 'lib/yarp/node.rb', line 2032

def rparen
  rparen_loc&.slice
end