Sha256: 08377040e7c016cf49acaac7b839914374fbb64e4d757a97c9bddf7f58d33d57
Contents?: true
Size: 1.59 KB
Versions: 3
Compression:
Stored size: 1.59 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 comments.consume(node, :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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
unparser-0.1.5 | lib/unparser/emitter/def.rb |
unparser-0.1.4 | lib/unparser/emitter/def.rb |
unparser-0.1.3 | lib/unparser/emitter/def.rb |