class Phlex::Compiler
def call
def call Visitors::File.new(self).visit(tree) end
def file
def file location[0] end
def initialize(view)
def initialize(view) @view = view end
def inspect
def inspect "#{self.class.name} for #{@view.name} view class" end
def line
def line location[1] end
def location
def location ::Module.const_source_location(@view.name) end
def redefine(method)
def redefine(method) @view.class_eval(method) end
def redefined?(method_name)
def redefined?(method_name) prototype = @view.allocate @view.instance_method(method_name).bind(prototype) != Phlex::View.instance_method(method_name).bind(prototype) end
def source
def source SyntaxTree.read(file) end
def tree
def tree @tree ||= SyntaxTree.parse(source) end