Sha256: d0dc0030437587443d45b364815bf04e1a86af30fec55589f4e7f8079b350e6e
Contents?: true
Size: 985 Bytes
Versions: 1
Compression:
Stored size: 985 Bytes
Contents
# frozen_string_literal: true require 'ripper' module Preval SyntaxError = Class.new(SyntaxError) class << self attr_reader :visitors def process(source) visitors.inject(source) { |accum, visitor| visitor.process(accum) } end end @visitors = [] end require 'preval/format' require 'preval/node' require 'preval/parser' require 'preval/version' require 'preval/visitor' require 'preval/visitors/arithmetic' require 'preval/visitors/loops' if defined?(Bootsnap) load_iseq = RubyVM::InstructionSequence.method(:load_iseq) if load_iseq.source_location[0].include?('/bootsnap/') Bootsnap::CompileCache::ISeq.singleton_class.prepend( Module.new do def input_to_storage(source, path) source = Preval.process(source) RubyVM::InstructionSequence.compile(source, path, path).to_binary rescue SyntaxError raise Bootsnap::CompileCache::Uncompilable, 'syntax error' end end ) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
preval-0.2.0 | lib/preval.rb |