Sha256: 054bfc814aa0cb971530918d4388d8a225eea70addc74ca83bd64dfd7fc70b77
Contents?: true
Size: 906 Bytes
Versions: 1
Compression:
Stored size: 906 Bytes
Contents
# frozen_string_literal: true require 'opal/ast/builder' require 'opal/rewriter' if RUBY_ENGINE == 'opal' class << Parser::Source::Buffer def recognize_encoding(s) Encoding::UTF_8 end end end module Opal class Parser < ::Parser::Ruby23 def initialize(*) super(Opal::AST::Builder.new) end def self.default_parser parser = super parser.diagnostics.all_errors_are_fatal = true parser.diagnostics.ignore_warnings = true if RUBY_ENGINE == 'opal' parser.diagnostics.consumer = ->(diag){} else parser.diagnostics.consumer = lambda do |diagnostic| $stderr.puts(diagnostic.render) end end parser end def parse(source_buffer) parsed = super rewriten = rewrite(parsed) rewriten end def rewrite(node) Opal::Rewriter.new(node).process end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opal-0.11.0.rc1 | lib/opal/parser.rb |