Struct lib_ruby_parser::nodes::Defs
source · #[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: String
Name 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: Loc
Location of the def
keyword
def self.foo; end
~~~
operator_l: Loc
Location of the .
def self.foo; end
~
name_l: Loc
Location 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: Loc
Location of the full expression
def self.foo; end
~~~~~~~~~~~~~~~~~
Trait Implementations§
source§impl PartialEq for Defs
impl PartialEq for Defs
impl StructuralPartialEq for Defs
Auto Trait Implementations§
impl Freeze for Defs
impl RefUnwindSafe for Defs
impl Send for Defs
impl Sync for Defs
impl Unpin for Defs
impl UnwindSafe for Defs
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more