Sha256: 5267b71e38f831cc77a4986b0882259dd21b1a2ed1abd5497465755c4fd72665
Contents?: true
Size: 1.19 KB
Versions: 4
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true require 'parser' module Leftovers module AST class Builder < ::Parser::Builders::Default def n(type, children, source_map) # leftovers:keep self.class.node_class(type).new(type, children, location: source_map) end def self.node_class(type) # rubocop:disable Metrics case type when :array then ArrayNode when :block then BlockNode when :casgn then CasgnNode when :const then ConstNode when :def then DefNode when :defs then DefsNode when :false then FalseNode when :hash then HashNode when :int, :float then NumericNode when :lvar, :ivar, :gvar, :cvar then VarNode when :ivasgn, :cvasgn, :gvasgn then VasgnNode when :module, :class then ModuleNode when :nil then NilNode when :send, :csend then SendNode when :str then StrNode when :sym then SymNode when :true then TrueNode else Node end end # Don't complain about invalid strings # This is called by ::Parser::AST internals def string_value(token) # leftovers:keep value(token) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
leftovers-0.12.2 | lib/leftovers/ast/builder.rb |
leftovers-0.12.1 | lib/leftovers/ast/builder.rb |
leftovers-0.12.0 | lib/leftovers/ast/builder.rb |
leftovers-0.11.2 | lib/leftovers/ast/builder.rb |