1. Prism::
  2. RescueModifierNode

class Prism::RescueModifierNode

Represents an expression modified with a rescue.

foo rescue nil^^^^^^^^^^^^^^

Attributes

expression[R]

attr_reader expression: Prism::node

rescue_expression[R]

attr_readerrescue_expression: Prism::node

Public Class Methods

Source
# File lib/prism/node.rb, line 15818definitialize(source,node_id,location,flags,expression,keyword_loc,rescue_expression)@source =source@node_id =node_id@location =location@flags =flags@expression =expression@keyword_loc =keyword_loc@rescue_expression =rescue_expressionend

Initialize a newRescueModifierNode node.

Source
# File lib/prism/node.rb, line 15896defself.type:rescue_modifier_nodeend

Return a symbol representation of this node type. SeeNode::type.

Public Instance Methods

Source
# File lib/prism/node.rb, line 15902def===(other)other.is_a?(RescueModifierNode)&&    (expression===other.expression)&&    (keyword_loc.nil?==other.keyword_loc.nil?)&&    (rescue_expression===other.rescue_expression)end

Implements case-equality for the node. This is effectively == but without comparing the value of locations. Locations are checked only for presence.

Source
# File lib/prism/node.rb, line 15829defaccept(visitor)visitor.visit_rescue_modifier_node(self)end

def accept: (Visitor visitor) -> void

Source
# File lib/prism/node.rb, line 15834defchild_nodes  [expression,rescue_expression]end

defchild_nodes: () ->Array

Also aliased as:deconstruct
Source
# File lib/prism/node.rb, line 15844defcomment_targets  [expression,keyword_loc,rescue_expression]#: Array[Prism::node | Location]end

defcomment_targets: () -> Array[Node | Location]

Source
# File lib/prism/node.rb, line 15839defcompact_child_nodes  [expression,rescue_expression]end

defcompact_child_nodes: () ->Array

Source
# File lib/prism/node.rb, line 15849defcopy(node_id:self.node_id,location:self.location,flags:self.flags,expression:self.expression,keyword_loc:self.keyword_loc,rescue_expression:self.rescue_expression)RescueModifierNode.new(source,node_id,location,flags,expression,keyword_loc,rescue_expression)end

def copy: (?node_id:Integer, ?location:Location, ?flags:Integer, ?expression: Prism::node, ?keyword_loc:Location, ?rescue_expression: Prism::node) ->RescueModifierNode

def deconstruct: () ->Array

Alias for:child_nodes
Source
# File lib/prism/node.rb, line 15857defdeconstruct_keys(keys)  {node_id:node_id,location:location,expression:expression,keyword_loc:keyword_loc,rescue_expression:rescue_expression }end

defdeconstruct_keys: (Array keys) -> { node_id:Integer, location:Location, expression: Prism::node,keyword_loc:Location,rescue_expression: Prism::node }

Source
# File lib/prism/node.rb, line 15886definspectInspectVisitor.compose(self)end

def inspect ->String

Source
# File lib/prism/node.rb, line 15881defkeywordkeyword_loc.sliceend

def keyword: () ->String

Source
# File lib/prism/node.rb, line 15865defkeyword_loclocation =@keyword_locreturnlocationiflocation.is_a?(Location)@keyword_loc =Location.new(source,location>>32,location&0xFFFFFFFF)end

attr_readerkeyword_loc:Location

Source
# File lib/prism/node.rb, line 15873defsave_keyword_loc(repository)repository.enter(node_id,:keyword_loc)end

Save thekeyword_loc location using the given saved source so that it can be retrieved later.

Source
# File lib/prism/node.rb, line 15891deftype:rescue_modifier_nodeend

Return a symbol representation of this node type. SeeNode#type.