Class: YARP::DefNode
- Inherits:
-
YARPNode
- Object
- YARPNode
- YARP::DefNode
- Defined in:
- lib/yarp/node.rb,
ext/yarp/api_node.c
Overview
Represents a method definition.
def method
end
^^^^^^^^^^
Instance Attribute Summary collapse
-
#def_keyword_loc ⇒ Object
readonly
attr_reader def_keyword_loc: Location.
-
#end_keyword_loc ⇒ Object
readonly
attr_reader end_keyword_loc: Location?.
-
#equal_loc ⇒ Object
readonly
attr_reader equal_loc: Location?.
-
#locals ⇒ Object
readonly
attr_reader locals: Array.
-
#lparen_loc ⇒ Object
readonly
attr_reader lparen_loc: Location?.
-
#name_loc ⇒ Object
readonly
attr_reader name_loc: Location.
-
#operator_loc ⇒ Object
readonly
attr_reader operator_loc: Location?.
-
#parameters ⇒ Object
readonly
attr_reader parameters: Node?.
-
#receiver ⇒ Object
readonly
attr_reader receiver: Node?.
-
#rparen_loc ⇒ Object
readonly
attr_reader rparen_loc: Location?.
-
#statements ⇒ Object
readonly
attr_reader statements: Node?.
Instance Method Summary collapse
-
#accept(visitor) ⇒ Object
def accept: (visitor: Visitor) -> void.
-
#child_nodes ⇒ Object
(also: #deconstruct)
def child_nodes: () -> Array[nil | Node].
- #deconstruct_keys(keys) ⇒ Object
-
#def_keyword ⇒ Object
def def_keyword: () -> String.
-
#end_keyword ⇒ Object
def end_keyword: () -> String?.
-
#equal ⇒ Object
def equal: () -> String?.
-
#initialize(name_loc, receiver, parameters, statements, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location) ⇒ DefNode
constructor
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.
-
#lparen ⇒ Object
def lparen: () -> String?.
-
#name ⇒ Object
def name: () -> String.
-
#operator ⇒ Object
def operator: () -> String?.
-
#rparen ⇒ Object
def rparen: () -> String?.
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_loc ⇒ Object (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_loc ⇒ Object (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_loc ⇒ Object (readonly)
attr_reader equal_loc: Location?
1907 1908 1909 |
# File 'lib/yarp/node.rb', line 1907 def equal_loc @equal_loc end |
#locals ⇒ Object (readonly)
attr_reader locals: Array
1892 1893 1894 |
# File 'lib/yarp/node.rb', line 1892 def locals @locals end |
#lparen_loc ⇒ Object (readonly)
attr_reader lparen_loc: Location?
1901 1902 1903 |
# File 'lib/yarp/node.rb', line 1901 def lparen_loc @lparen_loc end |
#name_loc ⇒ Object (readonly)
attr_reader name_loc: Location
1880 1881 1882 |
# File 'lib/yarp/node.rb', line 1880 def name_loc @name_loc end |
#operator_loc ⇒ Object (readonly)
attr_reader operator_loc: Location?
1898 1899 1900 |
# File 'lib/yarp/node.rb', line 1898 def operator_loc @operator_loc end |
#parameters ⇒ Object (readonly)
attr_reader parameters: Node?
1886 1887 1888 |
# File 'lib/yarp/node.rb', line 1886 def parameters @parameters end |
#receiver ⇒ Object (readonly)
attr_reader receiver: Node?
1883 1884 1885 |
# File 'lib/yarp/node.rb', line 1883 def receiver @receiver end |
#rparen_loc ⇒ Object (readonly)
attr_reader rparen_loc: Location?
1904 1905 1906 |
# File 'lib/yarp/node.rb', line 1904 def rparen_loc @rparen_loc end |
#statements ⇒ Object (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_nodes ⇒ Object 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
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_keyword ⇒ Object
def def_keyword: () -> String
1952 1953 1954 |
# File 'lib/yarp/node.rb', line 1952 def def_keyword def_keyword_loc.slice end |
#end_keyword ⇒ Object
def end_keyword: () -> String?
1977 1978 1979 |
# File 'lib/yarp/node.rb', line 1977 def end_keyword end_keyword_loc&.slice end |
#equal ⇒ Object
def equal: () -> String?
1972 1973 1974 |
# File 'lib/yarp/node.rb', line 1972 def equal equal_loc&.slice end |
#lparen ⇒ Object
def lparen: () -> String?
1962 1963 1964 |
# File 'lib/yarp/node.rb', line 1962 def lparen lparen_loc&.slice end |
#name ⇒ Object
def name: () -> String
1947 1948 1949 |
# File 'lib/yarp/node.rb', line 1947 def name name_loc.slice end |
#operator ⇒ Object
def operator: () -> String?
1957 1958 1959 |
# File 'lib/yarp/node.rb', line 1957 def operator operator_loc&.slice end |
#rparen ⇒ Object
def rparen: () -> String?
1967 1968 1969 |
# File 'lib/yarp/node.rb', line 1967 def rparen rparen_loc&.slice end |