class Riml::AST_Rewriter::RegisterClassDependencies
Public Class Methods
new(ast, classes, class_dependency_graph, filename)
click to toggle source
Calls superclass method
Riml::AST_Rewriter::new
# File lib/riml/ast_rewriter.rb, line 161 def initialize(ast, classes, class_dependency_graph, filename) super(ast, classes, class_dependency_graph) @filename = filename end
Public Instance Methods
match?(node)
click to toggle source
# File lib/riml/ast_rewriter.rb, line 166 def match?(node) ClassDefinitionNode === node || ObjectInstantiationNode === node end
replace(node)
click to toggle source
# File lib/riml/ast_rewriter.rb, line 170 def replace(node) if ClassDefinitionNode === node @class_dependency_graph.class_defined( @filename, class_node_full_name(node), class_name_full_name(node.superclass_name) ) else @class_dependency_graph.class_encountered( @filename, class_node_full_name(node.call_node) ) end end
Private Instance Methods
class_name_full_name(class_name)
click to toggle source
# File lib/riml/ast_rewriter.rb, line 193 def class_name_full_name(class_name) return nil if class_name.nil? if class_name[1, 1] == ':' class_name else ClassDefinitionNode::DEFAULT_SCOPE_MODIFIER + class_name end end
class_node_full_name(node)
click to toggle source
# File lib/riml/ast_rewriter.rb, line 186 def class_node_full_name(node) ( node.scope_modifier || ClassDefinitionNode::DEFAULT_SCOPE_MODIFIER ) + node.name end