Class: Rbs::Merge::SmartMerger
- Inherits:
-
Ast::Merge::SmartMergerBase
- Object
- Ast::Merge::SmartMergerBase
- Rbs::Merge::SmartMerger
- Defined in:
- lib/rbs/merge/smart_merger.rb
Overview
Orchestrates the smart merge process for RBS type signature files.
Uses FileAnalysis, FileAligner, ConflictResolver, and MergeResult to
merge two RBS files intelligently.
SmartMerger provides flexible configuration for different merge scenarios.
When matching class or module definitions are found in both files, the merger
can perform recursive merging of their members.
Instance Method Summary collapse
-
#initialize(template_content, dest_content, signature_generator: nil, preference: :destination, add_template_only_nodes: false, freeze_token: nil, match_refiner: nil, regions: nil, region_placeholder: nil, node_typing: nil, max_recursion_depth: Float::INFINITY, **options) ⇒ SmartMerger
constructor
Creates a new SmartMerger for intelligent RBS file merging.
Constructor Details
#initialize(template_content, dest_content, signature_generator: nil, preference: :destination, add_template_only_nodes: false, freeze_token: nil, match_refiner: nil, regions: nil, region_placeholder: nil, node_typing: nil, max_recursion_depth: Float::INFINITY, **options) ⇒ SmartMerger
Creates a new SmartMerger for intelligent RBS file merging.
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/rbs/merge/smart_merger.rb', line 79 def initialize( template_content, dest_content, signature_generator: nil, preference: :destination, add_template_only_nodes: false, freeze_token: nil, match_refiner: nil, regions: nil, region_placeholder: nil, node_typing: nil, max_recursion_depth: Float::INFINITY, ** ) @max_recursion_depth = max_recursion_depth super( template_content, dest_content, signature_generator: signature_generator, preference: preference, add_template_only_nodes: add_template_only_nodes, freeze_token: freeze_token, match_refiner: match_refiner, regions: regions, region_placeholder: region_placeholder, node_typing: node_typing, ** ) end |