class Riml::AST_Rewriter::ObjectInstantiationToCall
Public Instance Methods
match?(node)
click to toggle source
# File lib/riml/ast_rewriter.rb, line 865 def match?(node) ObjectInstantiationNode === node end
replace(node)
click to toggle source
# File lib/riml/ast_rewriter.rb, line 869 def replace(node) constructor_name = (node.call_node.scope_modifier || ClassDefinitionNode::DEFAULT_SCOPE_MODIFIER) + node.call_node.name class_node = classes[constructor_name] call_node = node.call_node call_node.name = class_node.constructor_name call_node.scope_modifier = class_node.constructor.scope_modifier # FIXME: `replace_with` doesn't take into account this scenario! if CallNode === node.parent && node.parent.arguments.include?(node) idx = node.parent.arguments.index(node) node.parent.arguments[idx] = call_node else node.replace_with(call_node) end end