lib-ruby-parser (C++ bindings)
4.0.1+ruby-3.1.1
C++ bindings for lib-ruby-parser library
|
Go to the documentation of this file. 1 #ifndef LIB_RUBY_PARSER_NODES_HPP
2 #define LIB_RUBY_PARSER_NODES_HPP
4509 #endif // LIB_RUBY_PARSER_NODES_HPP
Loc expression_l
Definition: nodes.hpp:3665
Node * pattern
Pattern that is used for matching.
Definition: nodes.hpp:2621
While while_
Definition: nodes.hpp:4486
MaybeLoc operator_l
Definition: nodes.hpp:712
MaybeLoc name_l
Definition: nodes.hpp:3441
Node * body
Body of the handler.
Definition: nodes.hpp:3378
Loc name_l
Definition: nodes.hpp:2688
Const pattern used in pattern matching (e.g. in A(1, 2))
Definition: nodes.hpp:799
Node * options
Definition: nodes.hpp:3275
Loc struct from lib-ruby-parser
Definition: loc.hpp:12
Loc expression_l
Definition: nodes.hpp:3756
Node * body
Body of the block that is wrapped into rescue (i.e. the part that may throw an error)
Definition: nodes.hpp:3331
Definition: nodes.hpp:301
String name
Name of the class variable, String("@@foo") for @@foo = 1
Definition: nodes.hpp:935
Loc expression_l
Definition: nodes.hpp:4217
Definition: nodes.hpp:4063
Node * const_
Constant that is used, Const("Foo") for in For(42)
Definition: nodes.hpp:803
Represents a rescue block.
Definition: nodes.hpp:3327
Loc expression_l
Definition: nodes.hpp:2272
MaybeLoc operator_l
Definition: nodes.hpp:1980
NodeList args
Arguments given to next
Definition: nodes.hpp:2817
NodeList pairs
A list of key-value pairs.
Definition: nodes.hpp:1596
Loc name_l
Definition: nodes.hpp:1112
Loc expression_l
Definition: nodes.hpp:2770
Represents a true literal.
Definition: nodes.hpp:3815
MaybeString name
Definition: nodes.hpp:2283
Loc expression_l
Definition: nodes.hpp:2483
Represents a break keyword (with optional argument)
Definition: nodes.hpp:470
EmptyElse empty_else
Definition: nodes.hpp:4399
Node * to
Definition: nodes.hpp:40
XHeredoc x_heredoc
Definition: nodes.hpp:4488
Node * right
End of the range, None if range has no end (i.e 42...)
Definition: nodes.hpp:1335
Node * default_
Default value of the optional keyword argument.
Definition: nodes.hpp:2256
String value
String value of the literal, String("42") for 42
Definition: nodes.hpp:2038
RescueBody rescue_body
Definition: nodes.hpp:4468
Loc begin_l
Definition: nodes.hpp:3991
NthRef nth_ref
Definition: nodes.hpp:4452
MaybeLoc end_l
Definition: nodes.hpp:3703
MaybeLoc operator_l
Definition: nodes.hpp:1435
Loc expression_l
Definition: nodes.hpp:1227
NodeList elements
A list of elements.
Definition: nodes.hpp:264
Complex complex
Definition: nodes.hpp:4387
Node * if_true
True-branch.
Definition: nodes.hpp:1872
Represents an integer literal (i.e. 42)
Definition: nodes.hpp:2034
Represents ternary if statement (i.e. cond ? if_true : if_false)
Definition: nodes.hpp:1865
Loc expression_l
Definition: nodes.hpp:2664
Loc heredoc_body_l
Definition: nodes.hpp:4105
MaybeLoc begin_l
Definition: nodes.hpp:3595
NodeList elements
A list of elements.
Definition: nodes.hpp:192
Represents optional positional argument (i.e. foo in m(foo = 1))
Definition: nodes.hpp:2950
Or or_
Definition: nodes.hpp:4456
MaybeLoc operator_l
Definition: nodes.hpp:3239
Represents inclusive range (i.e. 2..4)
Definition: nodes.hpp:2059
Node * iterator
Variable that is used in loop, Lvasgn("a") in for a in b; end
Definition: nodes.hpp:1452
Represents access to class variable (i.e. @@var)
Definition: nodes.hpp:914
String value
String value of the literal, String("42.5") for 42.5
Definition: nodes.hpp:1427
Loc expression_l
Definition: nodes.hpp:2350
Represents a block of code with ensure (i.e. begin; ensure; end)
Definition: nodes.hpp:1293
And and_
Definition: nodes.hpp:4369
File file
Definition: nodes.hpp:4404
Loc expression_l
Definition: nodes.hpp:1624
Loc keyword_l
Definition: nodes.hpp:3981
Loc operator_l
Definition: nodes.hpp:1474
Node * body
Body of a method, None if there's no body.
Definition: nodes.hpp:979
Block block
Definition: nodes.hpp:4378
CSend c_send
Definition: nodes.hpp:4390
Heredoc heredoc
Definition: nodes.hpp:4414
Node * name
Definition: nodes.hpp:2648
Node * else_body
Body of the else branch, None if there's no else branch.
Definition: nodes.hpp:568
Represents alias to from statement.
Definition: nodes.hpp:34
Loc keyword_l
Definition: nodes.hpp:3510
Self_ self_
Definition: nodes.hpp:4473
NodeList patterns
A list of values to compare/match against.
Definition: nodes.hpp:3970
Node * left
Left part of the flip-flop. None if based on a range without begin (...bar)
Definition: nodes.hpp:1236
Loc keyword_l
Definition: nodes.hpp:4189
MaybeLoc else_l
Definition: nodes.hpp:3349
MaybeLoc begin_l
Definition: nodes.hpp:1050
Loc keyword_l
Definition: nodes.hpp:702
Loc expression_l
Definition: nodes.hpp:2609
Node * body
Body of the block.
Definition: nodes.hpp:3502
Loc expression_l
Definition: nodes.hpp:1860
Definition: nodes.hpp:4367
Node * as
Variable that is assigned if matched (see MatchVar node)
Definition: nodes.hpp:2495
Loc expression_l
Definition: nodes.hpp:1023
False false_
Definition: nodes.hpp:4403
NodeList parts
A list of string parts (static literals and interpolated expressions)
Definition: nodes.hpp:4097
MaybeLoc assignment_l
Definition: nodes.hpp:1015
Node & operator=(Node &&)
Loc expression_l
Definition: nodes.hpp:728
Masgn masgn
Definition: nodes.hpp:4438
Loc operator_l
Definition: nodes.hpp:2291
Represents a method call (e.g. foo.bar(42))
Definition: nodes.hpp:3553
Loc expression_l
Definition: nodes.hpp:4130
Loc operator_l
Definition: nodes.hpp:117
Represents an array pattern used in pattern matching.
Definition: nodes.hpp:221
Represents a block that takes numbered parameters (i.e. proc { _1 })
Definition: nodes.hpp:2869
Represents next keyword.
Definition: nodes.hpp:2813
Definition: nodes.hpp:260
Represents a super keyword.
Definition: nodes.hpp:3716
Alias alias
Definition: nodes.hpp:4368
Represents a for loop.
Definition: nodes.hpp:1448
Loc expression_l
Definition: nodes.hpp:292
Shadowarg shadowarg
Definition: nodes.hpp:4475
OpAsgn op_asgn
Definition: nodes.hpp:4454
Loc end_l
Definition: nodes.hpp:3170
Kwrestarg kwrestarg
Definition: nodes.hpp:4432
Loc expression_l
Definition: nodes.hpp:1068
Definition: nodes.hpp:4093
Redo redo
Definition: nodes.hpp:4464
Loc expression_l
Definition: nodes.hpp:3640
Loc operator_l
Definition: nodes.hpp:2475
NodeList items
A list of items that are assigned.
Definition: nodes.hpp:2742
MatchWithLvasgn match_with_lvasgn
Definition: nodes.hpp:4447
Loc end_l
Definition: nodes.hpp:397
Loc expression_l
Definition: nodes.hpp:2833
InPattern in_pattern
Definition: nodes.hpp:4422
MaybeLoc end_l
Definition: nodes.hpp:1410
Begin begin
Definition: nodes.hpp:4377
MaybeLoc operator_l
Definition: nodes.hpp:1579
NodeList args
A list of arguments given to super
Definition: nodes.hpp:3720
MaybeLoc end_l
Definition: nodes.hpp:3796
Tag tag
Definition: nodes.hpp:4499
String name
Name of the local variable.
Definition: nodes.hpp:2397
Represents a constant assignment (i.e. A = 1)
Definition: nodes.hpp:607
MaybeLoc begin_l
Definition: nodes.hpp:4199
Node * ensure
Definition: nodes.hpp:1305
Loc keyword_l
Definition: nodes.hpp:1096
String name
Name of the variable ("$+" for $+)
Definition: nodes.hpp:305
Loc expression_l
Definition: nodes.hpp:2733
Represents a wildcard pattern used in pattern matching (i.e. in *foo)
Definition: nodes.hpp:2642
Node * body
Body of the loop.
Definition: nodes.hpp:3945
MaybeLoc begin_l
Definition: nodes.hpp:2206
Rerpresentation of Bytes struct from lib-ruby-parser.
Definition: bytes.hpp:46
Represents an arguments splat (i.e. *bar in a call like foo(*bar))
Definition: nodes.hpp:3645
Node * body
Body of the loop. None if there's no body.
Definition: nodes.hpp:1458
MaybeLoc end_l
Definition: nodes.hpp:1653
Node * lhs
Left hand statement of the assignment.
Definition: nodes.hpp:2436
MaybeLoc begin_l
Definition: nodes.hpp:3204
Represents local variable assignment (i.e. foo = 42)
Definition: nodes.hpp:2393
Loc expression_l
Definition: nodes.hpp:313
Represents a Complex literal (that returns an Complex number)
Definition: nodes.hpp:733
NodeList rescue_bodies
A list of rescue handlers (see RescueBody node)
Definition: nodes.hpp:3334
Represents nil literal.
Definition: nodes.hpp:2838
Loc expression_l
Definition: nodes.hpp:1514
Node * body
Definition: nodes.hpp:1300
Procarg0 procarg0
Definition: nodes.hpp:4462
Loc keyword_l
Definition: nodes.hpp:3953
Gvar gvar
Definition: nodes.hpp:4410
String name
Name of the method, String("foo") for def foo; end
Definition: nodes.hpp:971
String method_name
Name of the method that is called.
Definition: nodes.hpp:3562
When when
Definition: nodes.hpp:4485
Arg arg
Definition: nodes.hpp:4371
Loc expression_l
Definition: nodes.hpp:61
MaybeLoc end_l
Definition: nodes.hpp:3214
MatchAlt match_alt
Definition: nodes.hpp:4439
Represents self keyword.
Definition: nodes.hpp:3539
Loc keyword_l
Definition: nodes.hpp:2825
Restarg restarg
Definition: nodes.hpp:4469
Loc expression_l
Definition: nodes.hpp:2166
Node * value
Pattern that is used for matching.
Definition: nodes.hpp:2492
Loc expression_l
Definition: nodes.hpp:3488
String name
Name of the constant, String("Foo") for Foo
Definition: nodes.hpp:770
Node * value
Definition: nodes.hpp:2114
MaybeLoc end_l
Definition: nodes.hpp:183
Represents matching with assignment into a local variable (i.e. pattern => var)
Definition: nodes.hpp:2669
Loc keyword_l
Definition: nodes.hpp:3866
Represents a class definition (using a class keyword, Class.new is just a method call)
Definition: nodes.hpp:682
ForwardArg forward_arg
Definition: nodes.hpp:4408
Super super
Definition: nodes.hpp:4478
Loc expression_l
Definition: nodes.hpp:794
Node * body
Body of the method, None if there's no body.
Definition: nodes.hpp:694
Loc expression_l
Definition: nodes.hpp:2637
Represents a keyword arguments splat (i.e. **bar in a call like foo(**bar))
Definition: nodes.hpp:2314
String name
Name of the local variable.
Definition: nodes.hpp:2380
ArrayPatternWithTail array_pattern_with_tail
Definition: nodes.hpp:4375
Kwarg kwarg
Definition: nodes.hpp:4427
Tag
Definition: nodes.hpp:4240
Defined defined
Definition: nodes.hpp:4394
Node * name
Name of the class, String("Foo") for class Foo; end
Definition: nodes.hpp:686
Loc expression_l
Definition: nodes.hpp:3009
Node * scope
Definition: nodes.hpp:767
Represents an if/unless modifier (i.e. stmt if cond)
Definition: nodes.hpp:1822
MaybeLoc end_l
Definition: nodes.hpp:1005
Loc begin_l
Definition: nodes.hpp:2021
Node * recv
Receiver of the method call, Int("1") for 1&.foo
Definition: nodes.hpp:841
Nil nil
Definition: nodes.hpp:4451
Node * from
Definition: nodes.hpp:45
Represents opening a singleton class (i.e. class << foo; ... end;)
Definition: nodes.hpp:3493
Definition: nodes.hpp:3186
MaybeLoc end_l
Definition: nodes.hpp:2214
String name
Name of the instance variable, String("@foo") in @foo
Definition: nodes.hpp:2091
Loc end_l
Definition: nodes.hpp:1492
Node * definee
Definee of a method definition, Lvar("x") for def x.foo; end
Definition: nodes.hpp:1077
Node * right
End of the range, None if range has no end (i.e. 2..)
Definition: nodes.hpp:2066
Lvasgn lvasgn
Definition: nodes.hpp:4437
EFlipFlop e_flip_flop
Definition: nodes.hpp:4398
Represents a symbol with interpolation (i.e. :"#{foo}")
Definition: nodes.hpp:1187
Loc name_l
Definition: nodes.hpp:2122
Represents a special ... argument that forwards positional/keyword/block arguments.
Definition: nodes.hpp:1505
Loc keyword_l
Definition: nodes.hpp:3841
Represents an optional keyword argument (i.e. foo in def m(foo: 42); end)
Definition: nodes.hpp:2249
Loc expression_l
Definition: nodes.hpp:2388
Represents positional rest argument (i.e. *foo in def m(*foo); end)
Definition: nodes.hpp:3419
Represents a hash literal (i.e. { foo: 42 })
Definition: nodes.hpp:1592
MaybeLoc end_l
Definition: nodes.hpp:1616
Node * rhs
Right hand statement.
Definition: nodes.hpp:2993
Loc expression_l
Definition: nodes.hpp:1443
MaybeLoc begin_l
Definition: nodes.hpp:3406
Node * recv
Left hand statement.
Definition: nodes.hpp:3018
Irange irange
Definition: nodes.hpp:4424
Ivasgn ivasgn
Definition: nodes.hpp:4426
Node * body
Block body, None if block has no body.
Definition: nodes.hpp:381
Represents a hash pattern used in pattern matching (i.e. in { a: 1 })
Definition: nodes.hpp:1629
MaybeString options
A list of flags.
Definition: nodes.hpp:3314
Node * cond
Condition of the loop.
Definition: nodes.hpp:3942
Represents a &blk argument in the method definition (but not in the method call, see BlockPass)
Definition: nodes.hpp:410
Node * rhs
Right pattern.
Definition: nodes.hpp:2467
Node * exc_var
Definition: nodes.hpp:3375
Cvar cvar
Definition: nodes.hpp:4391
Represents a case statement used for pattern matching (for regular case see Case node)
Definition: nodes.hpp:551
Represents assignment using indexing operation (i.e. foo[1, 2, 3] = bar)
Definition: nodes.hpp:1940
Lambda lambda
Definition: nodes.hpp:4434
String name
Name of the variable that is assigned if matching succeeds.
Definition: nodes.hpp:2673
MaybeLoc begin_l
Definition: nodes.hpp:1205
MaybeLoc begin_l
Definition: nodes.hpp:4031
Loc expression_l
Definition: nodes.hpp:1379
NodeList elements
A list of inner patterns.
Definition: nodes.hpp:1633
Represents mass-assignment (i.e. foo, bar = 1, 2)
Definition: nodes.hpp:2432
String name
Name of the argument.
Definition: nodes.hpp:3632
String name
Name of the global variable, String("$foo") for $foo
Definition: nodes.hpp:1537
Node * call
Definition: nodes.hpp:371
Blockarg blockarg
Definition: nodes.hpp:4379
BackRef back_ref
Definition: nodes.hpp:4376
NodeList parts
A list of symbol parts (static literals and interpolated expressions)
Definition: nodes.hpp:1191
String name
Name of the instance variable, String("@foo") in @foo = 42
Definition: nodes.hpp:2108
Loc keyword_l
Definition: nodes.hpp:3113
MaybeLoc operator_l
Definition: nodes.hpp:901
MaybeLoc begin_l
Definition: nodes.hpp:3693
Represents flags of the regex literal (i.e. mix for /foo/mix)
Definition: nodes.hpp:3310
MatchCurrentLine match_current_line
Definition: nodes.hpp:4441
ForwardedArgs forwarded_args
Definition: nodes.hpp:4409
Loc name_l
Definition: nodes.hpp:2965
NodeList pairs
A list of key-value pairs.
Definition: nodes.hpp:2175
Node * value
Value of the pair.
Definition: nodes.hpp:3049
NodeList in_bodies
A list of InPattern nodes (each has pattern, guard and body)
Definition: nodes.hpp:565
WhilePost while_post
Definition: nodes.hpp:4487
Bytes name
Definition: nodes.hpp:3776
Node * expr
Definition: nodes.hpp:562
Represents a Ruby block that is passed to a method (proc { |foo| bar })
Definition: nodes.hpp:365
MaybeLoc assoc_l
Definition: nodes.hpp:3396
Str str
Definition: nodes.hpp:4477
Definition: nodes.hpp:132
Represents a one-line pattern matching that can throw an error (i.e. foo => pattern)
Definition: nodes.hpp:2586
Loc expression_l
Definition: nodes.hpp:663
NodeList indexes
A list of indexes.
Definition: nodes.hpp:1911
Definition: nodes.hpp:3938
Regexp regexp
Definition: nodes.hpp:4465
Represents redo keyword.
Definition: nodes.hpp:3252
Gvasgn gvasgn
Definition: nodes.hpp:4411
Loc expression_l
Definition: nodes.hpp:755
Represents a keyword rest argument (i.e. foo in def m(**foo); end)
Definition: nodes.hpp:2277
Class class_
Definition: nodes.hpp:4386
Loc keyword_l
Definition: nodes.hpp:4078
Loc expression_l
Definition: nodes.hpp:832
Loc keyword_l
Definition: nodes.hpp:987
MaybeLoc end_l
Definition: nodes.hpp:3748
Node * recv
Definition: nodes.hpp:3559
Kwnilarg kwnilarg
Definition: nodes.hpp:4430
MaybeLoc selector_l
Definition: nodes.hpp:871
Case case_
Definition: nodes.hpp:4382
Represents constant access (i.e. Foo::Bar)
Definition: nodes.hpp:760
MaybeLoc begin_l
Definition: nodes.hpp:2752
MaybeLoc end_l
Definition: nodes.hpp:208
BlockPass block_pass
Definition: nodes.hpp:4380
NodeList when_bodies
A list of When nodes (each has patterns and body)
Definition: nodes.hpp:509
Float float_
Definition: nodes.hpp:4406
Node * rhs
Left hand statement of the assignment.
Definition: nodes.hpp:2439
Loc expression_l
Definition: nodes.hpp:465
String name
Name of the keyword argument.
Definition: nodes.hpp:2150
Loc expression_l
Definition: nodes.hpp:1140
Node * if_true
Definition: nodes.hpp:1832
Loc begin_l
Definition: nodes.hpp:389
Node * value
Definition: nodes.hpp:449
Loc expression_l
Definition: nodes.hpp:2808
Represents an if statement (i.e. if foo; bar; else; baz; end)
Definition: nodes.hpp:1710
Loc begin_l
Definition: nodes.hpp:1484
Represents matching with renaming into specified local variable (i.e. case 1; in Integer => a; end)
Definition: nodes.hpp:2488
Loc heredoc_end_l
Definition: nodes.hpp:1688
Loc operator_l
Definition: nodes.hpp:2937
Node * name
Name of the module.
Definition: nodes.hpp:2779
Loc keyword_l
Definition: nodes.hpp:4021
Loc expression_l
Definition: nodes.hpp:3874
MaybeLoc end_l
Definition: nodes.hpp:3605
Loc end_l
Definition: nodes.hpp:1969
Loc operator_l
Definition: nodes.hpp:3657
Definition: nodes.hpp:151
Loc expression_l
Definition: nodes.hpp:3261
Loc expression_l
Definition: nodes.hpp:2141
MaybeLoc end_l
Definition: nodes.hpp:1171
Loc expression_l
Definition: nodes.hpp:2029
Loc begin_l
Definition: nodes.hpp:3162
MaybeLoc dot_l
Definition: nodes.hpp:3575
Next next
Definition: nodes.hpp:4450
Represents a plain non-interpolated string literal (e.g. "foo")
Definition: nodes.hpp:3670
Node * re
Given regex.
Definition: nodes.hpp:2540
Represents an if guard used in pattern matching (i.e. case foo; in pattern if guard; end)
Definition: nodes.hpp:1769
Loc end_l
Definition: nodes.hpp:1927
Definition: nodes.hpp:3763
uint8_t numargs
Number of parameters that block takes.
Definition: nodes.hpp:2876
Until until
Definition: nodes.hpp:4483
Loc expression_l
Definition: nodes.hpp:360
Loc expression_l
Definition: nodes.hpp:2222
Node * lhs
Left pattern.
Definition: nodes.hpp:2464
MaybeLoc begin_l
Definition: nodes.hpp:173
Loc expression_l
Definition: nodes.hpp:1255
Definition: nodes.hpp:2376
MaybeLoc operator_l
Definition: nodes.hpp:3615
Loc expression_l
Definition: nodes.hpp:1988
Loc expression_l
Definition: nodes.hpp:3999
String operator_
Definition: nodes.hpp:2926
Loc expression_l
Definition: nodes.hpp:2427
Loc expression_l
Definition: nodes.hpp:1789
String name
Name of the constant, String("A") for A = 1
Definition: nodes.hpp:617
Loc name_l
Definition: nodes.hpp:786
Node * recv
Receiver of indexing.
Definition: nodes.hpp:1908
MaybeLoc operator_l
Definition: nodes.hpp:954
MaybeLoc end_l
Definition: nodes.hpp:284
Loc operator_l
Definition: nodes.hpp:1343
MaybeLoc end_l
Definition: nodes.hpp:3916
Represents a branch of the case statement (i.e. when foo)
Definition: nodes.hpp:3966
NodeList parts
A list of string parts (static literals and interpolated expressions)
Definition: nodes.hpp:4139
Node * cond
Condition of the guard, Lvar("foo") in in pattern unless guard
Definition: nodes.hpp:3858
Yield yield
Definition: nodes.hpp:4490
Represents a special __LINE__ literal.
Definition: nodes.hpp:2355
Node * iteratee
Collection that is for iteration. Lvar("b") in for a in b; end
Definition: nodes.hpp:1455
Loc operator_l
Definition: nodes.hpp:85
Loc end_l
Definition: nodes.hpp:2800
Represents required keyword argument (i.e. foo in def m(foo:); end)
Definition: nodes.hpp:2146
Sym sym
Definition: nodes.hpp:4479
KwBegin kw_begin
Definition: nodes.hpp:4429
Loc expression_l
Definition: nodes.hpp:3414
Represents a float literal (i.e. 42.5)
Definition: nodes.hpp:1423
Node * rhs
Definition: nodes.hpp:77
NodeList parts
A list of static and dynamic regex parts.
Definition: nodes.hpp:3270
Loc name_l
Definition: nodes.hpp:2408
Represents a special __ENCODING__ keyword.
Definition: nodes.hpp:1279
Loc name_l
Definition: nodes.hpp:2264
Loc expression_l
Definition: nodes.hpp:1500
Loc expression_l
Definition: nodes.hpp:1288
Loc expression_l
Definition: nodes.hpp:3096
Loc expression_l
Definition: nodes.hpp:1528
MaybeLoc begin_l
Definition: nodes.hpp:1606
Represents foo || bar (or foo or bar) statement.
Definition: nodes.hpp:2986
Loc operator_l
Definition: nodes.hpp:2629
For for_
Definition: nodes.hpp:4407
ConstPattern const_pattern
Definition: nodes.hpp:4389
Represents a singleton method definition (i.e. def self.foo; end)
Definition: nodes.hpp:1073
Rescue rescue
Definition: nodes.hpp:4467
Node * right
Right part of the flip-flop. None if based on a range without end (foo...)
Definition: nodes.hpp:1239
Represents a &blk argument of the method call (but not of the method definition, see BlockArg)
Definition: nodes.hpp:443
Node * body
Block body.
Definition: nodes.hpp:2879
MaybeLoc begin_l
Definition: nodes.hpp:3738
ArrayPattern array_pattern
Definition: nodes.hpp:4374
String name
Name of the argument.
Definition: nodes.hpp:2954
Int int_
Definition: nodes.hpp:4423
Node * exc_list
Definition: nodes.hpp:3370
Loc expression_l
Definition: nodes.hpp:1899
Loc expression_l
Definition: nodes.hpp:3322
Kwoptarg kwoptarg
Definition: nodes.hpp:4431
String name
Name of the global variable, String("$foo") for $foo
Definition: nodes.hpp:1554
Represents a single rescue handler (i.e. rescue E => e ...)
Definition: nodes.hpp:3364
Hash hash
Definition: nodes.hpp:4412
Loc keyword_l
Definition: nodes.hpp:3386
Loc expression_l
Definition: nodes.hpp:3810
Loc operator_l
Definition: nodes.hpp:3518
Node * var
Variable that is pinned.
Definition: nodes.hpp:3080
Represents access to instance variable (i.e. @foo)
Definition: nodes.hpp:2087
Xstr xstr
Definition: nodes.hpp:4489
Loc expression_l
Definition: nodes.hpp:2309
Loc expression_l
Definition: nodes.hpp:3927
Represents until loop.
Definition: nodes.hpp:3879
Loc expression_l
Definition: nodes.hpp:2945
Loc colon_l
Definition: nodes.hpp:1891
Lvar lvar
Definition: nodes.hpp:4436
size_t capacity
Definition: nodes.hpp:18
Erange erange
Definition: nodes.hpp:4402
Loc keyword_l
Definition: nodes.hpp:3480
Loc expression_l
Definition: nodes.hpp:2455
Loc name_l
Definition: nodes.hpp:1568
Definition: string.hpp:49
MatchPattern match_pattern
Definition: nodes.hpp:4443
Represents a &&= 1 statement.
Definition: nodes.hpp:98
Loc keyword_l
Definition: nodes.hpp:1313
MaybeLoc end_l
Definition: nodes.hpp:891
String name
Name of the class variable, String("@@foo") for @@foo
Definition: nodes.hpp:918
Loc name_l
Definition: nodes.hpp:995
Node * cond
Condition of the guard, Lvar("foo") in in pattern if guard
Definition: nodes.hpp:1773
Loc begin_l
Definition: nodes.hpp:2887
Loc operator_l
Definition: nodes.hpp:3001
Loc expression_l
Definition: nodes.hpp:1274
Represents a ... operator that contains forwarded argument (see ForwardArg)
Definition: nodes.hpp:1519
Represents instance variable assignment (i.e @foo = 42)
Definition: nodes.hpp:2104
Loc expression_l
Definition: nodes.hpp:1545
Represents method definition using def keyword (not on a singleton, see Defs node).
Definition: nodes.hpp:967
If if_
Definition: nodes.hpp:4415
Definition: nodes.hpp:1668
Loc operator_l
Definition: nodes.hpp:3029
Node * value
Definition: nodes.hpp:623
MaybeLoc name_l
Definition: nodes.hpp:430
MatchAs match_as
Definition: nodes.hpp:4440
MaybeLoc begin_l
Definition: nodes.hpp:274
Loc keyword_l
Definition: nodes.hpp:1849
Loc expression_l
Definition: nodes.hpp:2364
Node * value
Value that is converted to array.
Definition: nodes.hpp:3649
NodeList elements
A list of elements.
Definition: nodes.hpp:225
Loc begin_l
Definition: nodes.hpp:816
Node * value
Value given to defined?
Definition: nodes.hpp:1032
MaybeLoc name_l
Definition: nodes.hpp:2301
Node * else_body
Body of the else branch, None if there's no else branch.
Definition: nodes.hpp:512
Numblock numblock
Definition: nodes.hpp:4453
Loc keyword_l
Definition: nodes.hpp:3896
Retry retry
Definition: nodes.hpp:4470
Loc expression_l
Definition: nodes.hpp:1705
MaybeLoc end_l
Definition: nodes.hpp:1219
Loc expression_l
Definition: nodes.hpp:602
Node * value
Right hand statement.
Definition: nodes.hpp:3021
MaybeLoc operator_l
Definition: nodes.hpp:747
Definition: nodes.hpp:1386
Loc keyword_l
Definition: nodes.hpp:520
Loc expression_l
Definition: nodes.hpp:1365
Loc expression_l
Definition: nodes.hpp:1182
Dsym dsym
Definition: nodes.hpp:4397
Postexe postexe
Definition: nodes.hpp:4460
Loc operator_l
Definition: nodes.hpp:2725
Loc expression_l
Definition: nodes.hpp:962
Ensure ensure
Definition: nodes.hpp:4401
Represents empty hash pattern that is used in pattern matching (i.e. in **nil)
Definition: nodes.hpp:2556
Loc expression_l
Definition: nodes.hpp:2183
Loc operator_l
Definition: nodes.hpp:3060
Definition: nodes.hpp:320
Represents numeric global variable (e.g. $1)
Definition: nodes.hpp:2852
MaybeLoc begin_l
Definition: nodes.hpp:235
Loc expression_l
Definition: nodes.hpp:2903
Value & operator=(Value &&)
Send send
Definition: nodes.hpp:4474
MaybeLoc else_l
Definition: nodes.hpp:530
Loc heredoc_body_l
Definition: nodes.hpp:1680
Loc end_l
Definition: nodes.hpp:3297
Node * lhs
Left hand statement.
Definition: nodes.hpp:2990
Loc begin_l
Definition: nodes.hpp:3286
Represents inclusive flip-flop (i.e. in if foo..bar; end)
Definition: nodes.hpp:1794
Represents a string with interpolation (i.e. "#{foo}")
Definition: nodes.hpp:1145
Node * value
Value that is assigned to a local variable.
Definition: nodes.hpp:2400
Loc operator_l
Definition: nodes.hpp:2973
NodeList statements
A list of statements.
Definition: nodes.hpp:324
Cbase cbase
Definition: nodes.hpp:4385
Node * scope
Definition: nodes.hpp:614
Loc expression_l
Definition: nodes.hpp:490
NodeList & operator=(NodeList const &)=delete
MaybeLoc operator_l
Definition: nodes.hpp:2046
Node * body
Body of the loop.
Definition: nodes.hpp:4070
Represents foo && bar (or foo and bar) statement.
Definition: nodes.hpp:66
Represents a one-line pattern matching that never throws but returns true/false (i....
Definition: nodes.hpp:2614
Represents a key/value pair (e.g. a part of the Hash node)
Definition: nodes.hpp:3042
Loc expression_l
Definition: nodes.hpp:2847
String name
Name of the method, String("foo") for def x.foo; end
Definition: nodes.hpp:1080
Node * cond
Condition of the loop.
Definition: nodes.hpp:4067
MatchVar match_var
Definition: nodes.hpp:4446
Loc end_l
Definition: nodes.hpp:594
Represents pattern matching using one of the given patterns (i.e. foo in 1 | 2)
Definition: nodes.hpp:2460
Bytes value
Definition: nodes.hpp:3683
Node * cond
Condition of the modifier.
Definition: nodes.hpp:1826
Equivalent of Option<Loc>
Definition: loc.hpp:24
Undef undef
Definition: nodes.hpp:4481
IfMod if_mod
Definition: nodes.hpp:4418
Loc expression_l
Definition: nodes.hpp:3449
Node * cond
Condition of the loop.
Definition: nodes.hpp:4008
MaybeLoc end_l
Definition: nodes.hpp:2762
Loc expression_l
Definition: nodes.hpp:216
Const const_
Definition: nodes.hpp:4388
Loc operator_l
Definition: nodes.hpp:422
NodeList args
List of arguments.
Definition: nodes.hpp:155
Loc question_l
Definition: nodes.hpp:1883
Definition: nodes.hpp:4238
Loc expression_l
Definition: nodes.hpp:3222
Represents a special block argument that "shadows" outer variable (i.e. |;foo|)
Definition: nodes.hpp:3628
Represents conditional method call using &. operator.
Definition: nodes.hpp:837
Cvasgn cvasgn
Definition: nodes.hpp:4392
Node * if_false
True-branch.
Definition: nodes.hpp:1875
Loc expression_l
Definition: nodes.hpp:546
Definition: nodes.hpp:2536
Loc dot_l
Definition: nodes.hpp:861
Node * body
Definition: nodes.hpp:2784
Loc expression_l
Definition: nodes.hpp:3849
Node * body
Definition: nodes.hpp:3888
Represents a pattern based on a "pinned" variable (e.g. ^foo)
Definition: nodes.hpp:3076
Args args
Definition: nodes.hpp:4372
Node * cond
Condition of the if statement.
Definition: nodes.hpp:1869
String name
Name of the variable, String("1") for $1
Definition: nodes.hpp:2856
Loc expression_l
Definition: nodes.hpp:2099
NodeList names
A list of names to undef
Definition: nodes.hpp:3833
Represents retry keyword.
Definition: nodes.hpp:3454
MaybeLoc else_l
Definition: nodes.hpp:1748
Loc keyword_l
Definition: nodes.hpp:1781
Index index
Definition: nodes.hpp:4420
Loc end_l
Definition: nodes.hpp:824
MatchNilPattern match_nil_pattern
Definition: nodes.hpp:4442
MaybeString name
Name of the argument, String("foo") for def m(&foo)
Definition: nodes.hpp:414
Loc expression_l
Definition: nodes.hpp:1764
Node * cond
Condition given to the if statement, Lvar("a") for if a; b; else; c; end
Definition: nodes.hpp:1714
RegOpt reg_opt
Definition: nodes.hpp:4466
Loc expression_l
Definition: nodes.hpp:93
NodeList indexes
A list of indexes.
Definition: nodes.hpp:1947
Loc operator_l
Definition: nodes.hpp:2074
Loc expression_l
Definition: nodes.hpp:3247
Loc end_l
Definition: nodes.hpp:720
Loc expression_l
Definition: nodes.hpp:3137
Node * args
Definition: nodes.hpp:378
Represents exclusive flip-flop (i.e. in if foo...bar; end)
Definition: nodes.hpp:1232
Loc begin_l
Definition: nodes.hpp:1961
Loc keyword_l
Definition: nodes.hpp:53
Represents END { .. } statement.
Definition: nodes.hpp:3101
Loc expression_l
Definition: nodes.hpp:3305
MaybeLoc end_l
Definition: nodes.hpp:1060
Represents an special argument that rejects all keyword arguments (i.e. def m(**nil); end)
Definition: nodes.hpp:2227
NodeList parts
A list of string parts (static literals and interpolated expressions)
Definition: nodes.hpp:1672
SClass s_class
Definition: nodes.hpp:4472
Represents a defined?(foo) expression.
Definition: nodes.hpp:1028
Node * body
Definition: nodes.hpp:4013
Node * body
Body of the branch that is invoked if value matches pattern.
Definition: nodes.hpp:2005
MaybeLoc begin_l
Definition: nodes.hpp:3786
size_t len
Definition: nodes.hpp:19
MaybeLoc begin_l
Definition: nodes.hpp:200
Loc expression_l
Definition: nodes.hpp:1418
MaybeLoc selector_l
Definition: nodes.hpp:3585
Node * guard
Definition: nodes.hpp:2002
Node * left
Left part of the flip-flop. None if based on a range without begin (..bar)
Definition: nodes.hpp:1798
Loc heredoc_end_l
Definition: nodes.hpp:4113
Node * if_true
True-branch of the if statement, Lvar("b") for if a; b; else; c; end
Definition: nodes.hpp:1717
Node * else_
Definition: nodes.hpp:3339
Represents a false literal.
Definition: nodes.hpp:1356
Node * value
Value that is used for matching.
Definition: nodes.hpp:2717
Loc name_l
Definition: nodes.hpp:2573
NodeList args
Definition: nodes.hpp:3194
Loc keyword_l
Definition: nodes.hpp:1728
Represents an executable string (i.e. `sh #{script_name}`)
Definition: nodes.hpp:4135
Definition: string.hpp:13
Ivar ivar
Definition: nodes.hpp:4425
Loc expression_l
Definition: nodes.hpp:2981
Loc keyword_l
Definition: nodes.hpp:1040
Loc expression_l
Definition: nodes.hpp:677
FindPattern find_pattern
Definition: nodes.hpp:4405
UntilPost until_post
Definition: nodes.hpp:4484
MaybeLoc double_colon_l
Definition: nodes.hpp:636
MaybeLoc begin_l
Definition: nodes.hpp:338
Loc expression_l
Definition: nodes.hpp:1587
Represents class variable assignment (i.e. @@var = 42)
Definition: nodes.hpp:931
Loc expression_l
Definition: nodes.hpp:909
Casgn casgn
Definition: nodes.hpp:4384
MaybeLoc operator_l
Definition: nodes.hpp:2419
Represents a case statement (for pattern matching see CaseMatch node)
Definition: nodes.hpp:495
Loc expression_l
Definition: nodes.hpp:3961
Loc expression_l
Definition: nodes.hpp:2334
Loc name_l
Definition: nodes.hpp:2236
Loc expression_l
Definition: nodes.hpp:163
NodeList args
A list of arguments.
Definition: nodes.hpp:474
Loc expression_l
Definition: nodes.hpp:253
Node * lhs
Definition: nodes.hpp:72
Loc operator_l
Definition: nodes.hpp:1247
Node * call
Method call that takes a block.
Definition: nodes.hpp:2873
Node * recv
Receiver of the indexing.
Definition: nodes.hpp:1944
Loc name_l
Definition: nodes.hpp:644
NodeList args
A list of values that is returned.
Definition: nodes.hpp:3472
IfGuard if_guard
Definition: nodes.hpp:4416
Loc keyword_l
Definition: nodes.hpp:2013
Loc end_l
Definition: nodes.hpp:3129
Loc keyword_l
Definition: nodes.hpp:482
Loc expression_l
Definition: nodes.hpp:3548
Node * recv
Left hand statement of the assignment.
Definition: nodes.hpp:2912
Preexe preexe
Definition: nodes.hpp:4461
IndexAsgn index_asgn
Definition: nodes.hpp:4421
Loc expression_l
Definition: nodes.hpp:4052
Node * value
Right hand statement of the assignment.
Definition: nodes.hpp:2929
Node * left
Begin of the range, None if range has no begin (i.e ...42)
Definition: nodes.hpp:1332
MatchPatternP match_pattern_p
Definition: nodes.hpp:4444
Represents an operation with assignment (e.g. a += 1)
Definition: nodes.hpp:2908
Loc expression_l
Definition: nodes.hpp:2244
Node * if_false
False-branch of the if statement, Lvar("c") for if a; b; else; c; end
Definition: nodes.hpp:1720
MaybeLoc end_l
Definition: nodes.hpp:4209
Encoding encoding
Definition: nodes.hpp:4400
Loc operator_l
Definition: nodes.hpp:2601
MaybeLoc operator_l
Definition: nodes.hpp:655
Loc expression_l
Definition: nodes.hpp:2581
Represents an yield keyword.
Definition: nodes.hpp:4177
Loc end_l
Definition: nodes.hpp:2895
Loc expression_l
Definition: nodes.hpp:405
Loc begin_l
Definition: nodes.hpp:3121
Loc expression_l
Definition: nodes.hpp:1661
Node * body
Body of the block.
Definition: nodes.hpp:3105
Loc keyword_l
Definition: nodes.hpp:2792
Loc operator_l
Definition: nodes.hpp:2656
Node * right
Right part of the flip-flop. None if based on a range without end (foo..)
Definition: nodes.hpp:1801
Represents an in pattern branch of the pattern matching.
Definition: nodes.hpp:1993
Node * value
Definition: nodes.hpp:1560
Loc end_l
Definition: nodes.hpp:3526
Loc name_l
Definition: nodes.hpp:2158
MaybeLoc end_l
Definition: nodes.hpp:1132
Module module
Definition: nodes.hpp:4449
Loc expression_l
Definition: nodes.hpp:2703
True true_
Definition: nodes.hpp:4480
Loc expression_l
Definition: nodes.hpp:1817
Loc operator_l
Definition: nodes.hpp:2503
NodeList statements
A list of statements.
Definition: nodes.hpp:2198
Node * key
Key of the pair.
Definition: nodes.hpp:3046
MaybeLoc else_l
Definition: nodes.hpp:586
MaybeLoc operator_l
Definition: nodes.hpp:2133
Loc operator_l
Definition: nodes.hpp:2326
NodeList parts
A list of string parts (static literals and interpolated expressions)
Definition: nodes.hpp:1149
Dstr dstr
Definition: nodes.hpp:4396
Node * body
Body of the when branch.
Definition: nodes.hpp:3973
Node * expr
Definition: nodes.hpp:506
Definition: nodes.hpp:1265
Kwsplat kwsplat
Definition: nodes.hpp:4433
Represents an array literal.
Definition: nodes.hpp:188
Loc expression_l
Definition: nodes.hpp:1351
String name
Name of the argument.
Definition: nodes.hpp:136
Loc end_l
Definition: nodes.hpp:538
ZSuper z_super
Definition: nodes.hpp:4491
Definition: nodes.hpp:2341
MaybeString name
Definition: nodes.hpp:3425
MaybeLoc double_colon_l
Definition: nodes.hpp:778
Optarg optarg
Definition: nodes.hpp:4455
Node * expr
Definition: nodes.hpp:3499
Loc expression_l
Definition: nodes.hpp:3623
Definition: nodes.hpp:2194
Node * value
Definition: nodes.hpp:1953
Mlhs mlhs
Definition: nodes.hpp:4448
Loc expression_l
Definition: nodes.hpp:2054
Loc expression_l
Definition: nodes.hpp:2864
Node * superclass
Definition: nodes.hpp:691
Node * recv
Definition: nodes.hpp:104
Node * if_false
Definition: nodes.hpp:1838
Loc operator_l
Definition: nodes.hpp:457
Loc keyword_l
Definition: nodes.hpp:576
Represents leading :: part of the constant access/assignment that is used to get/set on a global name...
Definition: nodes.hpp:668
Definition: nodes.hpp:4224
Node * pattern
Definition: nodes.hpp:808
MaybeLoc begin_l
Definition: nodes.hpp:881
Represents kwargs that are given to a method call, super or yield (i.e. foo(bar: 1))
Definition: nodes.hpp:2171
Loc expression_l
Definition: nodes.hpp:3463
Represents while loop.
Definition: nodes.hpp:4004
CaseMatch case_match
Definition: nodes.hpp:4383
Loc expression_l
Definition: nodes.hpp:3178
Value as
Definition: nodes.hpp:4500
Loc keyword_l
Definition: nodes.hpp:3154
Loc operator_l
Definition: nodes.hpp:1104
String method_name
Name of the method, String("foo") for 1&.foo
Definition: nodes.hpp:844
NodeList args
Definition: nodes.hpp:853
MaybeLoc assignment_l
Definition: nodes.hpp:1122
Loc selector_l
Definition: nodes.hpp:3088
NodeList args
A list of arguments given to yield
Definition: nodes.hpp:4181
MaybeLoc end_l
Definition: nodes.hpp:4041
Loc begin_l
Definition: nodes.hpp:4150
Loc expression_l
Definition: nodes.hpp:144
NodeList elements
Inner part of the find pattern.
Definition: nodes.hpp:1390
Loc keyword_l
Definition: nodes.hpp:1466
Pair pair
Definition: nodes.hpp:4458
Loc expression_l
Definition: nodes.hpp:4172
IFlipFlop i_flip_flop
Definition: nodes.hpp:4417
Loc expression_l
Definition: nodes.hpp:926
Loc end_l
Definition: nodes.hpp:4161
MaybeLoc end_l
Definition: nodes.hpp:1756
Represents lhs ||= rhs assignment.
Definition: nodes.hpp:3014
Node * pattern
Pattern that is used for matching.
Definition: nodes.hpp:2593
Represents an undef keyword (e.g. undef foo, :bar)
Definition: nodes.hpp:3829
Represents module declaration using module keyword.
Definition: nodes.hpp:2775
Loc expression_l
Definition: nodes.hpp:3037
String value
String value of the literal, String("1r") for 1r
Definition: nodes.hpp:3231
Node * value
Definition: nodes.hpp:109
Loc expression_l
Definition: nodes.hpp:1935
Loc operator_l
Definition: nodes.hpp:1809
Node * body
Body of the method, None if there's no body.
Definition: nodes.hpp:1088
Represents return keyword.
Definition: nodes.hpp:3468
MatchRest match_rest
Definition: nodes.hpp:4445
Loc expression_l
Definition: nodes.hpp:4086
IfTernary if_ternary
Definition: nodes.hpp:4419
MaybeLoc end_l
Definition: nodes.hpp:245
Loc operator_l
Definition: nodes.hpp:2447
Loc expression_l
Definition: nodes.hpp:3824
Represents BEGIN { ... } statement.
Definition: nodes.hpp:3142
MaybeLoc end_l
Definition: nodes.hpp:352
Loc operator_l
Definition: nodes.hpp:2565
NodeList args
A list of arguments.
Definition: nodes.hpp:3565
Loc begin_l
Definition: nodes.hpp:1919
Node * pattern
Value that is used for matching.
Definition: nodes.hpp:1997
Node * value
Value that is assigned to class variable, Int("1") for @@foo = 1
Definition: nodes.hpp:938
MaybeLoc begin_l
Definition: nodes.hpp:3906
OrAsgn or_asgn
Definition: nodes.hpp:4457
Node * cond
Condition of the loop.
Definition: nodes.hpp:3883
Return return_
Definition: nodes.hpp:4471
Represents a special __FILE__ literal.
Definition: nodes.hpp:1370
Node * default_
Default value of the argument.
Definition: nodes.hpp:2957
MaybeLoc begin_l
Definition: nodes.hpp:1643
Loc expression_l
Definition: nodes.hpp:438
Represents an unless guard used in pattern matching (i.e. in pattern unless guard)
Definition: nodes.hpp:3854
Node * body
Body of the block.
Definition: nodes.hpp:3146
String value
Value of the complex literal, returned as a String, String("1i") for 1i
Definition: nodes.hpp:737
String name
Name of the optional keyword argument.
Definition: nodes.hpp:2253
Loc expression_l
Definition: nodes.hpp:2551
MaybeLoc begin_l
Definition: nodes.hpp:1160
Line line
Definition: nodes.hpp:4435
Loc expression_l
Definition: nodes.hpp:1323
Pin pin
Definition: nodes.hpp:4459
Loc expression_l
Definition: nodes.hpp:4233
Loc expression_l
Definition: nodes.hpp:2082
@ ARRAY_PATTERN_WITH_TAIL
Loc expression_l
Definition: nodes.hpp:125
Loc expression_l
Definition: nodes.hpp:3534
Node * value
Value that is converted into a Hash using **
Definition: nodes.hpp:2318
Definition: nodes.hpp:2710
Represents global variable assignment (i.e. $foo = 42)
Definition: nodes.hpp:1550
Defs defs
Definition: nodes.hpp:4395
Node * value
Value that is used for matching.
Definition: nodes.hpp:2590
UnlessGuard unless_guard
Definition: nodes.hpp:4482
Rational rational
Definition: nodes.hpp:4463
Represents regex literal (e.g. /foo/)
Definition: nodes.hpp:3266
Loc name_l
Definition: nodes.hpp:946
Loc operator_l
Definition: nodes.hpp:3433
Def def
Definition: nodes.hpp:4393
Node * value
Value that is used for matching.
Definition: nodes.hpp:2618
Node * ptr
Definition: nodes.hpp:17
Represents range literal with excluded end (i.e. 1...3)
Definition: nodes.hpp:1328
AndAsgn and_asgn
Definition: nodes.hpp:4370
Splat splat
Definition: nodes.hpp:4476
Node * args
Definition: nodes.hpp:1085
Represents rational literal (e.g. 1r)
Definition: nodes.hpp:3227
Node * re
Regex that is used for matching.
Definition: nodes.hpp:2714
Loc expression_l
Definition: nodes.hpp:3071
Represents indexing operation (i.e. foo[1,2,3])
Definition: nodes.hpp:1904
Loc keyword_l
Definition: nodes.hpp:3728
Loc expression_l
Definition: nodes.hpp:3359
MaybeLoc begin_l
Definition: nodes.hpp:1400
Node * args
Definition: nodes.hpp:976
Loc begin_l
Definition: nodes.hpp:1738
HashPattern hash_pattern
Definition: nodes.hpp:4413
Kwargs kwargs
Definition: nodes.hpp:4428
Represents access to global variable (i.e. $foo)
Definition: nodes.hpp:1533
Array array
Definition: nodes.hpp:4373
Loc expression_l
Definition: nodes.hpp:2511
Represents left hand statement of the mass-assignment (i.e. foo, bar in foo, bar = 1,...
Definition: nodes.hpp:2738
Loc expression_l
Definition: nodes.hpp:3711
Node * left
Begin of the range, None if range has no begin (i.e. ..4)
Definition: nodes.hpp:2063
Break break_
Definition: nodes.hpp:4381