Class: Riml::AST_Rewriter::ClassDefinitionToFunctions::SelfToDictName

Inherits:
Riml::AST_Rewriter
  • Object
show all
Defined in:
lib/ast_rewriter.rb

Constant Summary

Constants included from Constants

Constants::BUILTIN_COMMANDS, Constants::BUILTIN_FUNCTIONS, Constants::COMPARISON_OPERATORS, Constants::DEFINE_KEYWORDS, Constants::END_KEYWORDS, Constants::IGNORECASE_CAPABLE_OPERATORS, Constants::KEYWORDS, Constants::REGISTERS, Constants::RIML_COMMANDS, Constants::RIML_END_KEYWORDS, Constants::RIML_KEYWORDS, Constants::SPECIAL_VARIABLE_PREFIXES, Constants::SPLAT_LITERAL, Constants::VIML_COMMANDS, Constants::VIML_END_KEYWORDS, Constants::VIML_KEYWORDS

Instance Attribute Summary collapse

Attributes inherited from Riml::AST_Rewriter

#ast, #classes, #rewritten_included_and_sourced_files

Instance Method Summary collapse

Methods inherited from Riml::AST_Rewriter

#add_SID_function!, #add_SID_function?, #do_establish_parents, #do_rewrite_on_match, #establish_parents, #recursive?, #rewrite, #rewrite_included_and_sourced_files!, #rewrite_on_match

Constructor Details

#initialize(dict_name) ⇒ SelfToDictName

Returns a new instance of SelfToDictName.



361
362
363
# File 'lib/ast_rewriter.rb', line 361

def initialize(dict_name)
  @dict_name = dict_name
end

Instance Attribute Details

#dict_nameObject (readonly)

Returns the value of attribute dict_name.



360
361
362
# File 'lib/ast_rewriter.rb', line 360

def dict_name
  @dict_name
end

Instance Method Details

#match?(node) ⇒ Boolean

Returns:

  • (Boolean)


365
366
367
# File 'lib/ast_rewriter.rb', line 365

def match?(node)
  AssignNode === node && DictGetNode === node.lhs && node.lhs.dict.name == "self"
end

#replace(node) ⇒ Object



369
370
371
# File 'lib/ast_rewriter.rb', line 369

def replace(node)
  node.lhs.dict.name = dict_name
end