summaryrefslogtreecommitdiff
path: root/lib/prism/parse_result
diff options
context:
space:
mode:
authorKevin Newton <[email protected]>2024-07-02 15:43:01 -0400
committerKevin Newton <[email protected]>2024-07-11 14:25:54 -0400
commit687be43c79a6fb119e52b09ea561cf958a9aabf2 ()
treedffa61a0172886f091571c73340926a70fe69340 /lib/prism/parse_result
parentca48fb76fb0669ca0666a7aa129e1f5d2b7468da (diff)
[ruby/prism] Expose flags on every node type
https://.com/ruby/prism/commit/9f12a56fd6
-rw-r--r--lib/prism/parse_result/newlines.rb56
1 files changed, 28 insertions, 28 deletions
@@ -45,7 +45,7 @@ module Prism
# Mark if/unless nodes as newlines.
def visit_if_node(node)
- node.newline!(@lines)
super(node)
end
@@ -54,7 +54,7 @@ module Prism
# Permit statements lists to mark newlines within themselves.
def visit_statements_node(node)
node.body.each do |child|
- child.newline!(@lines)
end
super(node)
end
@@ -62,93 +62,93 @@ module Prism
end
class Node
- def newline? # :nodoc:
- @newline ? true : false
end
- def newline!(lines) # :nodoc:
line = location.start_line
unless lines[line]
lines[line] = true
- @newline = true
end
end
end
class BeginNode < Node
- def newline!(lines) # :nodoc:
# Never mark BeginNode with a newline flag, mark children instead.
end
end
class ParenthesesNode < Node
- def newline!(lines) # :nodoc:
# Never mark ParenthesesNode with a newline flag, mark children instead.
end
end
class IfNode < Node
- def newline!(lines) # :nodoc:
- predicate.newline!(lines)
end
end
class UnlessNode < Node
- def newline!(lines) # :nodoc:
- predicate.newline!(lines)
end
end
class UntilNode < Node
- def newline!(lines) # :nodoc:
- predicate.newline!(lines)
end
end
class WhileNode < Node
- def newline!(lines) # :nodoc:
- predicate.newline!(lines)
end
end
class RescueModifierNode < Node
- def newline!(lines) # :nodoc:
- expression.newline!(lines)
end
end
class InterpolatedMatchLastLineNode < Node
- def newline!(lines) # :nodoc:
first = parts.first
- first.newline!(lines) if first
end
end
class InterpolatedRegularExpressionNode < Node
- def newline!(lines) # :nodoc:
first = parts.first
- first.newline!(lines) if first
end
end
class InterpolatedStringNode < Node
- def newline!(lines) # :nodoc:
first = parts.first
- first.newline!(lines) if first
end
end
class InterpolatedSymbolNode < Node
- def newline!(lines) # :nodoc:
first = parts.first
- first.newline!(lines) if first
end
end
class InterpolatedXStringNode < Node
- def newline!(lines) # :nodoc:
first = parts.first
- first.newline!(lines) if first
end
end
end