Class: RBI::ScopeConflict
- Inherits:
-
Tree
- Object
- Node
- NodeWithComments
- Tree
- RBI::ScopeConflict
- Extended by:
- T::Sig
- Defined in:
- lib/rbi/rewriters/merge_trees.rb
Overview
A conflict between two scope headers
Is rendered as a merge conflict between ‘left` and` right` for scope definitions: ~~~rb <<<<<<< left class Foo
module Foo >>>>>>> right
def m1; end
end ~~~
Instance Attribute Summary collapse
-
#left ⇒ Object
readonly
Returns the value of attribute left.
-
#right ⇒ Object
readonly
Returns the value of attribute right.
Attributes inherited from Tree
Attributes inherited from NodeWithComments
Attributes inherited from Node
Instance Method Summary collapse
- #accept_printer(v) ⇒ Object
-
#initialize(left:, right:, left_name: "left", right_name: "right") ⇒ ScopeConflict
constructor
A new instance of ScopeConflict.
- #oneline? ⇒ Boolean
Methods inherited from Tree
#<<, #add_sig_templates!, #empty?, #group_nodes!, #index, #merge, #nest_non_public_methods!, #nest_singleton_methods!, #sort_nodes!
Methods inherited from NodeWithComments
Methods inherited from Node
#compatible_with?, #detach, #group_kind, #merge_with, #parent_conflict_tree, #parent_scope, #print, #replace, #string
Constructor Details
#initialize(left:, right:, left_name: "left", right_name: "right") ⇒ ScopeConflict
Returns a new instance of ScopeConflict.
598 599 600 601 602 603 604 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 598 def initialize(left:, right:, left_name: "left", right_name: "right") super() @left = left @right = right @left_name = left_name @right_name = right_name end |
Instance Attribute Details
#left ⇒ Object (readonly)
Returns the value of attribute left.
588 589 590 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 588 def left @left end |
#right ⇒ Object (readonly)
Returns the value of attribute right.
588 589 590 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 588 def right @right end |
Instance Method Details
#accept_printer(v) ⇒ Object
607 608 609 610 611 612 613 614 615 616 617 618 619 620 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 607 def accept_printer(v) previous_node = v.previous_node v.printn if previous_node && (!previous_node.oneline? || !oneline?) v.printl("# #{loc}") if loc && v.print_locs v.visit_all(comments) v.printl("<<<<<<< #{@left_name}") left.print_header(v) v.printl("=======") right.print_header(v) v.printl(">>>>>>> #{@right_name}") left.print_body(v) end |
#oneline? ⇒ Boolean
623 624 625 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 623 def oneline? left.oneline? end |