Struct lib_ruby_parser::nodes::Defs [−][src]
#[repr(C)]pub struct Defs { pub definee: Box<Node>, pub name: String, pub args: Option<Box<Node>>, pub body: Option<Box<Node>>, pub keyword_l: Loc, pub operator_l: Loc, pub name_l: Loc, pub assignment_l: Option<Loc>, pub end_l: Option<Loc>, pub expression_l: Loc, }
Expand description
Represents a singleton method definition (i.e. def self.foo; end)
Fields
definee: Box<Node>Definee of a method definition, Lvar("x") for `def x.foo; end
name: StringName of the method, String("foo") for def x.foo; end
args: Option<Box<Node>>Arguments of a method, None if there’s no arguments.
All information about parentheses around arguments is stored in this node.
body: Option<Box<Node>>Body of the method, None if there’s no body.
keyword_l: LocLocation of the def keyword
def self.foo; end
~~~
operator_l: LocLocation of the .
def self.foo; end
~
name_l: LocLocation of the method name
def self.foo; end
~~~
assignment_l: Option<Loc>Location of the = operator for endless method definition
def self.foo() = 42
~
None for regular method definition
end_l: Option<Loc>Location of the end keyword
def self.foo; end
~~~
None for endless method definition
expression_l: LocLocation of the full expression
def self.foo; end
~~~~~~~~~~~~~~~~~
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Defsimpl UnwindSafe for DefsBlanket Implementations
Mutably borrows from an owned value. Read more