Class: YARP::DefNode

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

Overview

Represents a method definition.

def method
end
^^^^^^^^^^

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name_loc, receiver, parameters, statements, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location) ⇒ DefNode

def initialize: (name_loc: Location, receiver: Node?, parameters: Node?, statements: Node?, locals: Array, def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void



1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
# File 'lib/yarp/node.rb', line 1913

def initialize(name_loc, receiver, parameters, statements, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location)
  @name_loc = name_loc
  @receiver = receiver
  @parameters = parameters
  @statements = statements
  @locals = locals
  @def_keyword_loc = def_keyword_loc
  @operator_loc = operator_loc
  @lparen_loc = lparen_loc
  @rparen_loc = rparen_loc
  @equal_loc = equal_loc
  @end_keyword_loc = end_keyword_loc
  @location = location
end

Instance Attribute Details

#def_keyword_locObject (readonly)

attr_reader def_keyword_loc: Location



1895
1896
1897
# File 'lib/yarp/node.rb', line 1895

def def_keyword_loc
  @def_keyword_loc
end

#end_keyword_locObject (readonly)

attr_reader end_keyword_loc: Location?



1910
1911
1912
# File 'lib/yarp/node.rb', line 1910

def end_keyword_loc
  @end_keyword_loc
end

#equal_locObject (readonly)

attr_reader equal_loc: Location?



1907
1908
1909
# File 'lib/yarp/node.rb', line 1907

def equal_loc
  @equal_loc
end

#localsObject (readonly)

attr_reader locals: Array



1892
1893
1894
# File 'lib/yarp/node.rb', line 1892

def locals
  @locals
end

#lparen_locObject (readonly)

attr_reader lparen_loc: Location?



1901
1902
1903
# File 'lib/yarp/node.rb', line 1901

def lparen_loc
  @lparen_loc
end

#name_locObject (readonly)

attr_reader name_loc: Location



1880
1881
1882
# File 'lib/yarp/node.rb', line 1880

def name_loc
  @name_loc
end

#operator_locObject (readonly)

attr_reader operator_loc: Location?



1898
1899
1900
# File 'lib/yarp/node.rb', line 1898

def operator_loc
  @operator_loc
end

#parametersObject (readonly)

attr_reader parameters: Node?



1886
1887
1888
# File 'lib/yarp/node.rb', line 1886

def parameters
  @parameters
end

#receiverObject (readonly)

attr_reader receiver: Node?



1883
1884
1885
# File 'lib/yarp/node.rb', line 1883

def receiver
  @receiver
end

#rparen_locObject (readonly)

attr_reader rparen_loc: Location?



1904
1905
1906
# File 'lib/yarp/node.rb', line 1904

def rparen_loc
  @rparen_loc
end

#statementsObject (readonly)

attr_reader statements: Node?



1889
1890
1891
# File 'lib/yarp/node.rb', line 1889

def statements
  @statements
end

Instance Method Details

#accept(visitor) ⇒ Object

def accept: (visitor: Visitor) -> void



1929
1930
1931
# File 'lib/yarp/node.rb', line 1929

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

#child_nodesObject Also known as: deconstruct

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



1934
1935
1936
# File 'lib/yarp/node.rb', line 1934

def child_nodes
  [receiver, parameters, statements]
end

#deconstruct_keys(keys) ⇒ Object

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



1942
1943
1944
# File 'lib/yarp/node.rb', line 1942

def deconstruct_keys(keys)
  { name_loc: name_loc, receiver: receiver, parameters: parameters, statements: statements, locals: locals, def_keyword_loc: def_keyword_loc, operator_loc: operator_loc, lparen_loc: lparen_loc, rparen_loc: rparen_loc, equal_loc: equal_loc, end_keyword_loc: end_keyword_loc, location: location }
end

#def_keywordObject

def def_keyword: () -> String



1952
1953
1954
# File 'lib/yarp/node.rb', line 1952

def def_keyword
  def_keyword_loc.slice
end

#end_keywordObject

def end_keyword: () -> String?



1977
1978
1979
# File 'lib/yarp/node.rb', line 1977

def end_keyword
  end_keyword_loc&.slice
end

#equalObject

def equal: () -> String?



1972
1973
1974
# File 'lib/yarp/node.rb', line 1972

def equal
  equal_loc&.slice
end

#lparenObject

def lparen: () -> String?



1962
1963
1964
# File 'lib/yarp/node.rb', line 1962

def lparen
  lparen_loc&.slice
end

#nameObject

def name: () -> String



1947
1948
1949
# File 'lib/yarp/node.rb', line 1947

def name
  name_loc.slice
end

#operatorObject

def operator: () -> String?



1957
1958
1959
# File 'lib/yarp/node.rb', line 1957

def operator
  operator_loc&.slice
end

#rparenObject

def rparen: () -> String?



1967
1968
1969
# File 'lib/yarp/node.rb', line 1967

def rparen
  rparen_loc&.slice
end