class SyntaxTree::Defs
def object.method(param) result end
Defs represents defining a singleton method on an object.
def accept(visitor)
def accept(visitor) visitor.visit_defs(self) end
def child_nodes
def child_nodes [target, operator, name, params, bodystmt] end
def deconstruct_keys(_keys)
def deconstruct_keys(_keys) { target: target, operator: operator, name: name, params: params, bodystmt: bodystmt, location: location, comments: comments } end
def format(q)
def format(q) q.group do q.group do q.text("def ") q.format(target) q.format(CallOperatorFormatter.new(operator), stackable: false) q.format(name) if !params.is_a?(Params) || !params.empty? || params.comments.any? q.format(params) end end unless bodystmt.empty? q.indent do q.breakable(force: true) q.format(bodystmt) end end q.breakable(force: true) q.text("end") end end
def initialize(
def initialize( target:, operator:, name:, params:, bodystmt:, location:, comments: [] ) @target = target @operator = operator @name = name @params = params @bodystmt = bodystmt @location = location @comments = comments end