Class: RLSL::BaseTranslator::CodeRewriter

Inherits:
Object
  • Object
show all
Defined in:
lib/rlsl/base_translator/code_rewriter.rb

Constant Summary collapse

IDENTIFIER_PATTERN =
/[A-Za-z_][A-Za-z0-9_]*/

Instance Method Summary collapse

Constructor Details

#initialize(code) ⇒ CodeRewriter

Returns a new instance of CodeRewriter.



11
12
13
# File 'lib/rlsl/base_translator/code_rewriter.rb', line 11

def initialize(code)
  @code = code.to_s
end

Instance Method Details

#rewrite(identifier_replacements:, call_rewrites:, removed_identifiers:) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/rlsl/base_translator/code_rewriter.rb', line 15

def rewrite(identifier_replacements:, call_rewrites:, removed_identifiers:)
  rewrite_segment(
    @code,
    identifier_replacements: stringify_keys(identifier_replacements),
    call_rewrites: stringify_keys(call_rewrites),
    removed_identifiers: Array(removed_identifiers).map(&:to_s)
  )
end