class Prism::MatchLastLineNode
Represents a regular expression literal used in the predicate of a conditional to implicitly match against the last line read by anIO object.
if /foo/i then end ^^^^^^
Attributes
attr_reader unescaped:String
Public Class Methods
Source
# File lib/prism/node.rb, line 13226definitialize(source,node_id,location,flags,opening_loc,content_loc,closing_loc,unescaped)@source =source@node_id =node_id@location =location@flags =flags@opening_loc =opening_loc@content_loc =content_loc@closing_loc =closing_loc@unescaped =unescapedend
Initialize a newMatchLastLineNode node.
Source
# File lib/prism/node.rb, line 13399defself.type:match_last_line_nodeend
Return a symbol representation of this node type. SeeNode::type.
Public Instance Methods
Source
# File lib/prism/node.rb, line 13405def===(other)other.is_a?(MatchLastLineNode)&& (flags===other.flags)&& (opening_loc.nil?==other.opening_loc.nil?)&& (content_loc.nil?==other.content_loc.nil?)&& (closing_loc.nil?==other.closing_loc.nil?)&& (unescaped===other.unescaped)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 13238defaccept(visitor)visitor.visit_match_last_line_node(self)end
def accept: (Visitor visitor) -> void
Source
# File lib/prism/node.rb, line 13302defascii_8bit?flags.anybits?(RegularExpressionFlags::ASCII_8BIT)end
def ascii_8bit?: () -> bool
Source
# File lib/prism/node.rb, line 13243defchild_nodes []end
defchild_nodes: () ->Array
Source
# File lib/prism/node.rb, line 13358defclosing_loclocation =@closing_locreturnlocationiflocation.is_a?(Location)@closing_loc =Location.new(source,location>>32,location&0xFFFFFFFF)end
attr_readerclosing_loc:Location
Source
# File lib/prism/node.rb, line 13259defcomment_targets [opening_loc,content_loc,closing_loc]#: Array[Prism::node | Location]end
defcomment_targets: () -> Array[Node | Location]
Source
# File lib/prism/node.rb, line 13254defcompact_child_nodes []end
defcompact_child_nodes: () ->Array
Source
# File lib/prism/node.rb, line 13345defcontent_loclocation =@content_locreturnlocationiflocation.is_a?(Location)@content_loc =Location.new(source,location>>32,location&0xFFFFFFFF)end
attr_readercontent_loc:Location
Source
# File lib/prism/node.rb, line 13264defcopy(node_id:self.node_id,location:self.location,flags:self.flags,opening_loc:self.opening_loc,content_loc:self.content_loc,closing_loc:self.closing_loc,unescaped:self.unescaped)MatchLastLineNode.new(source,node_id,location,flags,opening_loc,content_loc,closing_loc,unescaped)end
Source
# File lib/prism/node.rb, line 13272defdeconstruct_keys(keys) {node_id:node_id,location:location,opening_loc:opening_loc,content_loc:content_loc,closing_loc:closing_loc,unescaped:unescaped }end
defdeconstruct_keys: (Array keys) -> { node_id:Integer, location:Location,opening_loc:Location,content_loc:Location,closing_loc:Location, unescaped:String }
Source
# File lib/prism/node.rb, line 13248defeach_child_nodereturnto_enum(:each_child_node)unlessblock_given?end
defeach_child_node: () { (Prism::node) -> void } -> void | () ->Enumerator
Source
# File lib/prism/node.rb, line 13297defeuc_jp?flags.anybits?(RegularExpressionFlags::EUC_JP)end
def euc_jp?: () -> bool
Source
# File lib/prism/node.rb, line 13282defextended?flags.anybits?(RegularExpressionFlags::EXTENDED)end
def extended?: () -> bool
Source
# File lib/prism/node.rb, line 13322defforced_binary_encoding?flags.anybits?(RegularExpressionFlags::FORCED_BINARY_ENCODING)end
def forced_binary_encoding?: () -> bool
Source
# File lib/prism/node.rb, line 13327defforced_us_ascii_encoding?flags.anybits?(RegularExpressionFlags::FORCED_US_ASCII_ENCODING)end
def forced_us_ascii_encoding?: () -> bool
Source
# File lib/prism/node.rb, line 13317defforced_utf8_encoding?flags.anybits?(RegularExpressionFlags::FORCED_UTF8_ENCODING)end
def forced_utf8_encoding?: () -> bool
Source
# File lib/prism/node.rb, line 13277defignore_case?flags.anybits?(RegularExpressionFlags::IGNORE_CASE)end
def ignore_case?: () -> bool
Source
# File lib/prism/node.rb, line 13389definspectInspectVisitor.compose(self)end
def inspect ->String
Source
# File lib/prism/node.rb, line 13287defmulti_line?flags.anybits?(RegularExpressionFlags::MULTI_LINE)end
def multi_line?: () -> bool
Source
# File lib/prism/node.rb, line 13292defonce?flags.anybits?(RegularExpressionFlags::ONCE)end
def once?: () -> bool
Source
# File lib/prism/node.rb, line 13332defopening_loclocation =@opening_locreturnlocationiflocation.is_a?(Location)@opening_loc =Location.new(source,location>>32,location&0xFFFFFFFF)end
attr_readeropening_loc:Location
Source
# File lib/prism/node.rb, line 13366defsave_closing_loc(repository)repository.enter(node_id,:closing_loc)end
Save theclosing_loc location using the given saved source so that it can be retrieved later.
Source
# File lib/prism/node.rb, line 13353defsave_content_loc(repository)repository.enter(node_id,:content_loc)end
Save thecontent_loc location using the given saved source so that it can be retrieved later.
Source
# File lib/prism/node.rb, line 13340defsave_opening_loc(repository)repository.enter(node_id,:opening_loc)end
Save theopening_loc location using the given saved source so that it can be retrieved later.
Source
# File lib/prism/node.rb, line 13394deftype:match_last_line_nodeend
Return a symbol representation of this node type. SeeNode#type.
Source
# File lib/prism/node.rb, line 13312defutf_8?flags.anybits?(RegularExpressionFlags::UTF_8)end
def utf_8?: () -> bool
Source
# File lib/prism/node.rb, line 13307defwindows_31j?flags.anybits?(RegularExpressionFlags::WINDOWS_31J)end
def windows_31j?: () -> bool