Class: Ast::Merge::SourceRender::Renderer

Inherits:
Object
  • Object
show all
Defined in:
lib/ast/merge/source_render/renderer.rb,
sig/ast/merge.rbs

Overview

Deterministically assembles a passive render plan without parsing source. rubocop:disable Metrics/ClassLength -- rendering and provenance share one stateful traversal

Instance Method Summary collapse

Instance Method Details

#render(plan) ⇒ Result

Parameters:

Returns:



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/ast/merge/source_render/renderer.rb', line 11

def render(plan)
  reset_state(plan)
  plan.fragments.each { |fragment| render_fragment(fragment) }
  Result.new(
    content: @content,
    line_records: @line_records,
    synthesized_fragments: @synthesized_fragments,
    conflicts: @conflicts,
    verification_input: verification_input
  )
end