Sha256: 172f7b26ba6e30a811097682086f4ecad533e099d55ab823285b5b66922465c6
Contents?: true
Size: 1.72 KB
Versions: 2
Compression:
Stored size: 1.72 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 body # # @return [undefined] # # @api private # def emit_body indented { visit(body) } end # Emit arguments # # @return [undefined] # # @api private # def emit_arguments return if arguments.children.empty? parentheses do visit(arguments) end 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(O_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.0.2 | lib/unparser/emitter/def.rb |
unparser-0.0.1 | lib/unparser/emitter/def.rb |