class RubyNext::Language::Rewriters::NumericLiterals

Constants

MIN_SUPPORTED_VERSION
NAME
SYNTAX_PROBE

Public Instance Methods

on_complex(node) click to toggle source
# File lib/ruby-next/language/rewriters/numeric_literals.rb, line 27
def on_complex(node)
  context.track! self

  val = node.children.first

  s(:send, nil, :Complex,
    s(:int, val.real),
    s(:int, val.imaginary)).tap do |new_node|
    replace(node.loc.expression, new_node)
  end
end
on_rational(node) click to toggle source
# File lib/ruby-next/language/rewriters/numeric_literals.rb, line 13
def on_rational(node)
  context.track! self

  val = node.children.first

  parts = [s(:int, val.numerator)]

  parts << s(:int, val.denominator) unless val.denominator == 1

  s(:send, nil, :Rational, *parts).tap do |new_node|
    replace(node.loc.expression, new_node)
  end
end