diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/prism/node_ext.rb | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/lib/prism/node_ext.rb b/lib/prism/node_ext.rb index 5fc13eb06d..8c09632345 100644 --- a/lib/prism/node_ext.rb +++ b/lib/prism/node_ext.rb @@ -14,8 +14,49 @@ module Prism end end + class InterpolatedMatchLastLineNode < Node + include RegularExpressionOptions + end + + class InterpolatedRegularExpressionNode < Node + include RegularExpressionOptions + end + + class MatchLastLineNode < Node + include RegularExpressionOptions + end + + class RegularExpressionNode < Node + include RegularExpressionOptions + end + private_constant :RegularExpressionOptions + module HeredocQuery # :nodoc: + # Returns true if this node was represented as a heredoc in the source code. + def heredoc? + opening&.start_with?("<<") + end + end + + class InterpolatedStringNode < Node + include HeredocQuery + end + + class InterpolatedXStringNode < Node + include HeredocQuery + end + + class StringNode < Node + include HeredocQuery + end + + class XStringNode < Node + include HeredocQuery + end + + private_constant :HeredocQuery + class FloatNode < Node # Returns the value of the node as a Ruby Float. def value @@ -37,18 +78,6 @@ module Prism end end - class InterpolatedMatchLastLineNode < Node - include RegularExpressionOptions - end - - class InterpolatedRegularExpressionNode < Node - include RegularExpressionOptions - end - - class MatchLastLineNode < Node - include RegularExpressionOptions - end - class RationalNode < Node # Returns the value of the node as a Ruby Rational. def value @@ -56,10 +85,6 @@ module Prism end end - class RegularExpressionNode < Node - include RegularExpressionOptions - end - class ConstantReadNode < Node # Returns the list of parts for the full name of this constant. # For example: [:Foo] |