Class: RBI::Rewriters::TranslateRBSSigs
- Defined in:
- lib/rbi/rewriters/translate_rbs_sigs.rb
Overview
Translate all RBS signature comments to Sorbet RBI signatures
Defined Under Namespace
Classes: Error
Instance Method Summary collapse
-
#initialize ⇒ TranslateRBSSigs
constructor
: -> void.
-
#visit(node) ⇒ Object
: (Node? node) -> void.
Methods inherited from Visitor
Constructor Details
#initialize ⇒ TranslateRBSSigs
: -> void
11 12 13 14 |
# File 'lib/rbi/rewriters/translate_rbs_sigs.rb', line 11 def initialize super @type_translator = RBS::TypeTranslator.new #: RBS::TypeTranslator end |
Instance Method Details
#visit(node) ⇒ Object
: (Node? node) -> void
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rbi/rewriters/translate_rbs_sigs.rb', line 18 def visit(node) return unless node case node when Tree visit_all(node.nodes) when AttrAccessor, AttrReader, AttrWriter rbs_comments = extract_rbs_comments(node) rbs_comments.each do |comment| node.sigs << translate_rbs_attr_type(node, comment) end when Method rbs_comments = extract_rbs_comments(node) rbs_comments.each do |comment| node.sigs << translate_rbs_method_type(node, comment) end end end |