Sha256: 49444e78aef061ffae833e1dd41ef5b732d475fe024768a90feb3e45988452e6
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
module Unparser class Emitter # Emitter for def node class Def < self private # Emit name # # @return [undefined] # # @api private # abstract_method :emit_name private :emit_name # Return body node # # @return [Parser::AST::Node] # # @api private # abstract_method :body private :body # Perform dispatch # # @return [undefined] # # @api private # def dispatch write(K_DEF, WS) emit_name emit_arguments emit_body k_end end # Emit arguments # # @return [undefined] # # @api private # def emit_arguments return if arguments.children.empty? visit_parentheses(arguments) end # Instance def emitter class Instance < self handle :def children :name, :arguments, :body private # Emit name # # @return [undefined] # # @api private # def emit_name write(name.to_s) end end # Instance # Emitter for defines on singleton class Singleton < self handle :defs children :subject, :name, :arguments, :body private # Return mame # # @return [String] # # @api private # def emit_name visit(subject) write(T_DOT, name.to_s) end end # Singleton end # Def end # Emitter end # Unparser
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
unparser-0.1.2 | lib/unparser/emitter/def.rb |
unparser-0.1.1 | lib/unparser/emitter/def.rb |