Class: RBI::NodeWithComments
- Extended by:
- T::Helpers, T::Sig
- Defined in:
- lib/rbi/model.rb,
lib/rbi/printer.rb,
lib/rbi/rewriters/merge_trees.rb
Direct Known Subclasses
Attr, Const, Helper, Method, Mixin, Param, Send, SigParam, TEnumBlock, TStructField, Tree, TypeMember, Visibility
Instance Attribute Summary collapse
-
#comments ⇒ Object
Returns the value of attribute comments.
Attributes inherited from Node
Instance Method Summary collapse
- #annotations ⇒ Object
-
#initialize(loc: nil, comments: []) ⇒ NodeWithComments
constructor
A new instance of NodeWithComments.
- #merge_with(other) ⇒ Object
- #oneline? ⇒ Boolean
Methods inherited from Node
#accept_printer, #compatible_with?, #detach, #group_kind, #parent_conflict_tree, #parent_scope, #print, #print_blank_line_before, #replace, #string
Constructor Details
#initialize(loc: nil, comments: []) ⇒ NodeWithComments
89 90 91 92 |
# File 'lib/rbi/model.rb', line 89 def initialize(loc: nil, comments: []) super(loc: loc) @comments = comments end |
Instance Attribute Details
#comments ⇒ Object
Returns the value of attribute comments.
86 87 88 |
# File 'lib/rbi/model.rb', line 86 def comments @comments end |
Instance Method Details
#annotations ⇒ Object
95 96 97 98 99 |
# File 'lib/rbi/model.rb', line 95 def annotations comments .select { |comment| comment.text.start_with?("@") } .map { |comment| T.must(comment.text[1..]) } end |
#merge_with(other) ⇒ Object
306 307 308 309 310 311 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 306 def merge_with(other) return unless other.is_a?(NodeWithComments) other.comments.each do |comment| comments << comment unless comments.include?(comment) end end |
#oneline? ⇒ Boolean
158 159 160 |
# File 'lib/rbi/printer.rb', line 158 def oneline? comments.empty? end |