lib-ruby-parser (C++ bindings)  4.0.1+ruby-3.1.1
C++ bindings for lib-ruby-parser library
nodes.hpp File Reference
#include <cstddef>
#include "string.hpp"
#include "loc.hpp"
#include "bytes.hpp"

Go to the source code of this file.

Classes

class  lib_ruby_parser::NodeList
 
class  lib_ruby_parser::Alias
 Represents alias to from statement. More...
 
class  lib_ruby_parser::And
 Represents foo && bar (or foo and bar) statement. More...
 
class  lib_ruby_parser::AndAsgn
 Represents a &&= 1 statement. More...
 
class  lib_ruby_parser::Arg
 
class  lib_ruby_parser::Args
 
class  lib_ruby_parser::Array
 Represents an array literal. More...
 
class  lib_ruby_parser::ArrayPattern
 Represents an array pattern used in pattern matching. More...
 
class  lib_ruby_parser::ArrayPatternWithTail
 
class  lib_ruby_parser::BackRef
 
class  lib_ruby_parser::Begin
 
class  lib_ruby_parser::Block
 Represents a Ruby block that is passed to a method (proc { |foo| bar }) More...
 
class  lib_ruby_parser::Blockarg
 Represents a &blk argument in the method definition (but not in the method call, see BlockPass) More...
 
class  lib_ruby_parser::BlockPass
 Represents a &blk argument of the method call (but not of the method definition, see BlockArg) More...
 
class  lib_ruby_parser::Break
 Represents a break keyword (with optional argument) More...
 
class  lib_ruby_parser::Case
 Represents a case statement (for pattern matching see CaseMatch node) More...
 
class  lib_ruby_parser::CaseMatch
 Represents a case statement used for pattern matching (for regular case see Case node) More...
 
class  lib_ruby_parser::Casgn
 Represents a constant assignment (i.e. A = 1) More...
 
class  lib_ruby_parser::Cbase
 Represents leading :: part of the constant access/assignment that is used to get/set on a global namespace. More...
 
class  lib_ruby_parser::Class
 Represents a class definition (using a class keyword, Class.new is just a method call) More...
 
class  lib_ruby_parser::Complex
 Represents a Complex literal (that returns an Complex number) More...
 
class  lib_ruby_parser::Const
 Represents constant access (i.e. Foo::Bar) More...
 
class  lib_ruby_parser::ConstPattern
 Const pattern used in pattern matching (e.g. in A(1, 2)) More...
 
class  lib_ruby_parser::CSend
 Represents conditional method call using &. operator. More...
 
class  lib_ruby_parser::Cvar
 Represents access to class variable (i.e. @@var) More...
 
class  lib_ruby_parser::Cvasgn
 Represents class variable assignment (i.e. @@var = 42) More...
 
class  lib_ruby_parser::Def
 Represents method definition using def keyword (not on a singleton, see Defs node). More...
 
class  lib_ruby_parser::Defined
 Represents a defined?(foo) expression. More...
 
class  lib_ruby_parser::Defs
 Represents a singleton method definition (i.e. def self.foo; end) More...
 
class  lib_ruby_parser::Dstr
 Represents a string with interpolation (i.e. "#{foo}") More...
 
class  lib_ruby_parser::Dsym
 Represents a symbol with interpolation (i.e. :"#{foo}") More...
 
class  lib_ruby_parser::EFlipFlop
 Represents exclusive flip-flop (i.e. in if foo...bar; end) More...
 
class  lib_ruby_parser::EmptyElse
 
class  lib_ruby_parser::Encoding
 Represents a special __ENCODING__ keyword. More...
 
class  lib_ruby_parser::Ensure
 Represents a block of code with ensure (i.e. begin; ensure; end) More...
 
class  lib_ruby_parser::Erange
 Represents range literal with excluded end (i.e. 1...3) More...
 
class  lib_ruby_parser::False
 Represents a false literal. More...
 
class  lib_ruby_parser::File
 Represents a special __FILE__ literal. More...
 
class  lib_ruby_parser::FindPattern
 
class  lib_ruby_parser::Float
 Represents a float literal (i.e. 42.5) More...
 
class  lib_ruby_parser::For
 Represents a for loop. More...
 
class  lib_ruby_parser::ForwardArg
 Represents a special ... argument that forwards positional/keyword/block arguments. More...
 
class  lib_ruby_parser::ForwardedArgs
 Represents a ... operator that contains forwarded argument (see ForwardArg) More...
 
class  lib_ruby_parser::Gvar
 Represents access to global variable (i.e. $foo) More...
 
class  lib_ruby_parser::Gvasgn
 Represents global variable assignment (i.e. $foo = 42) More...
 
class  lib_ruby_parser::Hash
 Represents a hash literal (i.e. { foo: 42 }) More...
 
class  lib_ruby_parser::HashPattern
 Represents a hash pattern used in pattern matching (i.e. in { a: 1 }) More...
 
class  lib_ruby_parser::Heredoc
 
class  lib_ruby_parser::If
 Represents an if statement (i.e. if foo; bar; else; baz; end) More...
 
class  lib_ruby_parser::IfGuard
 Represents an if guard used in pattern matching (i.e. case foo; in pattern if guard; end) More...
 
class  lib_ruby_parser::IFlipFlop
 Represents inclusive flip-flop (i.e. in if foo..bar; end) More...
 
class  lib_ruby_parser::IfMod
 Represents an if/unless modifier (i.e. stmt if cond) More...
 
class  lib_ruby_parser::IfTernary
 Represents ternary if statement (i.e. cond ? if_true : if_false) More...
 
class  lib_ruby_parser::Index
 Represents indexing operation (i.e. foo[1,2,3]) More...
 
class  lib_ruby_parser::IndexAsgn
 Represents assignment using indexing operation (i.e. foo[1, 2, 3] = bar) More...
 
class  lib_ruby_parser::InPattern
 Represents an in pattern branch of the pattern matching. More...
 
class  lib_ruby_parser::Int
 Represents an integer literal (i.e. 42) More...
 
class  lib_ruby_parser::Irange
 Represents inclusive range (i.e. 2..4) More...
 
class  lib_ruby_parser::Ivar
 Represents access to instance variable (i.e. @foo) More...
 
class  lib_ruby_parser::Ivasgn
 Represents instance variable assignment (i.e @foo = 42) More...
 
class  lib_ruby_parser::Kwarg
 Represents required keyword argument (i.e. foo in def m(foo:); end) More...
 
class  lib_ruby_parser::Kwargs
 Represents kwargs that are given to a method call, super or yield (i.e. foo(bar: 1)) More...
 
class  lib_ruby_parser::KwBegin
 
class  lib_ruby_parser::Kwnilarg
 Represents an special argument that rejects all keyword arguments (i.e. def m(**nil); end) More...
 
class  lib_ruby_parser::Kwoptarg
 Represents an optional keyword argument (i.e. foo in def m(foo: 42); end) More...
 
class  lib_ruby_parser::Kwrestarg
 Represents a keyword rest argument (i.e. foo in def m(**foo); end) More...
 
class  lib_ruby_parser::Kwsplat
 Represents a keyword arguments splat (i.e. **bar in a call like foo(**bar)) More...
 
class  lib_ruby_parser::Lambda
 
class  lib_ruby_parser::Line
 Represents a special __LINE__ literal. More...
 
class  lib_ruby_parser::Lvar
 
class  lib_ruby_parser::Lvasgn
 Represents local variable assignment (i.e. foo = 42) More...
 
class  lib_ruby_parser::Masgn
 Represents mass-assignment (i.e. foo, bar = 1, 2) More...
 
class  lib_ruby_parser::MatchAlt
 Represents pattern matching using one of the given patterns (i.e. foo in 1 | 2) More...
 
class  lib_ruby_parser::MatchAs
 Represents matching with renaming into specified local variable (i.e. case 1; in Integer => a; end) More...
 
class  lib_ruby_parser::MatchCurrentLine
 
class  lib_ruby_parser::MatchNilPattern
 Represents empty hash pattern that is used in pattern matching (i.e. in **nil) More...
 
class  lib_ruby_parser::MatchPattern
 Represents a one-line pattern matching that can throw an error (i.e. foo => pattern) More...
 
class  lib_ruby_parser::MatchPatternP
 Represents a one-line pattern matching that never throws but returns true/false (i.e. foo in pattern) More...
 
class  lib_ruby_parser::MatchRest
 Represents a wildcard pattern used in pattern matching (i.e. in *foo) More...
 
class  lib_ruby_parser::MatchVar
 Represents matching with assignment into a local variable (i.e. pattern => var) More...
 
class  lib_ruby_parser::MatchWithLvasgn
 
class  lib_ruby_parser::Mlhs
 Represents left hand statement of the mass-assignment (i.e. foo, bar in foo, bar = 1, 2) More...
 
class  lib_ruby_parser::Module
 Represents module declaration using module keyword. More...
 
class  lib_ruby_parser::Next
 Represents next keyword. More...
 
class  lib_ruby_parser::Nil
 Represents nil literal. More...
 
class  lib_ruby_parser::NthRef
 Represents numeric global variable (e.g. $1) More...
 
class  lib_ruby_parser::Numblock
 Represents a block that takes numbered parameters (i.e. proc { _1 }) More...
 
class  lib_ruby_parser::OpAsgn
 Represents an operation with assignment (e.g. a += 1) More...
 
class  lib_ruby_parser::Optarg
 Represents optional positional argument (i.e. foo in m(foo = 1)) More...
 
class  lib_ruby_parser::Or
 Represents foo || bar (or foo or bar) statement. More...
 
class  lib_ruby_parser::OrAsgn
 Represents lhs ||= rhs assignment. More...
 
class  lib_ruby_parser::Pair
 Represents a key/value pair (e.g. a part of the Hash node) More...
 
class  lib_ruby_parser::Pin
 Represents a pattern based on a "pinned" variable (e.g. ^foo) More...
 
class  lib_ruby_parser::Postexe
 Represents END { .. } statement. More...
 
class  lib_ruby_parser::Preexe
 Represents BEGIN { ... } statement. More...
 
class  lib_ruby_parser::Procarg0
 
class  lib_ruby_parser::Rational
 Represents rational literal (e.g. 1r) More...
 
class  lib_ruby_parser::Redo
 Represents redo keyword. More...
 
class  lib_ruby_parser::Regexp
 Represents regex literal (e.g. /foo/) More...
 
class  lib_ruby_parser::RegOpt
 Represents flags of the regex literal (i.e. mix for /foo/mix) More...
 
class  lib_ruby_parser::Rescue
 Represents a rescue block. More...
 
class  lib_ruby_parser::RescueBody
 Represents a single rescue handler (i.e. rescue E => e ...) More...
 
class  lib_ruby_parser::Restarg
 Represents positional rest argument (i.e. *foo in def m(*foo); end) More...
 
class  lib_ruby_parser::Retry
 Represents retry keyword. More...
 
class  lib_ruby_parser::Return
 Represents return keyword. More...
 
class  lib_ruby_parser::SClass
 Represents opening a singleton class (i.e. class << foo; ... end;) More...
 
class  lib_ruby_parser::Self_
 Represents self keyword. More...
 
class  lib_ruby_parser::Send
 Represents a method call (e.g. foo.bar(42)) More...
 
class  lib_ruby_parser::Shadowarg
 Represents a special block argument that "shadows" outer variable (i.e. |;foo|) More...
 
class  lib_ruby_parser::Splat
 Represents an arguments splat (i.e. *bar in a call like foo(*bar)) More...
 
class  lib_ruby_parser::Str
 Represents a plain non-interpolated string literal (e.g. "foo") More...
 
class  lib_ruby_parser::Super
 Represents a super keyword. More...
 
class  lib_ruby_parser::Sym
 
class  lib_ruby_parser::True
 Represents a true literal. More...
 
class  lib_ruby_parser::Undef
 Represents an undef keyword (e.g. undef foo, :bar) More...
 
class  lib_ruby_parser::UnlessGuard
 Represents an unless guard used in pattern matching (i.e. in pattern unless guard) More...
 
class  lib_ruby_parser::Until
 Represents until loop. More...
 
class  lib_ruby_parser::UntilPost
 
class  lib_ruby_parser::When
 Represents a branch of the case statement (i.e. when foo) More...
 
class  lib_ruby_parser::While
 Represents while loop. More...
 
class  lib_ruby_parser::WhilePost
 
class  lib_ruby_parser::XHeredoc
 
class  lib_ruby_parser::Xstr
 Represents an executable string (i.e. `sh #{script_name}`) More...
 
class  lib_ruby_parser::Yield
 Represents an yield keyword. More...
 
class  lib_ruby_parser::ZSuper
 
class  lib_ruby_parser::Node
 
union  lib_ruby_parser::Node::Value
 

Namespaces

 lib_ruby_parser