Commit db238621 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Move use of Parser out of Source::File.

With the help of our new MiniParser, we only need to change the
parsing setup code in there, not touching all the related specs.
parent 4bbcc296
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
require 'jsduck/util/parallel'
require 'jsduck/util/io'
require 'jsduck/parser'
require 'jsduck/source/file'
require 'jsduck/logger'

@@ -13,7 +14,9 @@ module JsDuck
      Util::Parallel.map(opts.input_files) do |fname|
        Logger.log("Parsing", fname)
        begin
          Source::File.new(Util::IO.read(fname), fname, opts)
          source = Util::IO.read(fname)
          docs = Parser.new.parse(source, fname, opts)
          Source::File.new(source, docs, fname)
        rescue
          Logger.fatal_backtrace("Error while parsing #{fname}", $!)
          exit(1)
+2 −4
Original line number Diff line number Diff line
require 'jsduck/parser'
require 'jsduck/util/html'

module JsDuck
@@ -14,14 +13,13 @@ module JsDuck
      attr_reader :docs
      attr_reader :html_filename

      def initialize(contents, filename="", options={})
      def initialize(contents, docs, filename="")
        @contents = contents
        @docs = docs
        @filename = filename
        @html_filename = ""
        @links = {}

        @docs = Parser.new.parse(@contents, @filename, options)

        @docs.map do |docset|
          link(docset[:linenr], docset)
        end
+2 −1
Original line number Diff line number Diff line
require "jsduck/aggregator"
require "jsduck/parser"
require "jsduck/class"
require "jsduck/relations"
require "jsduck/source/file"
@@ -22,7 +23,7 @@ module Helper
  class MiniParser
    def self.parse(string, opts={})
      fname = opts[:filename] || ""
      file = JsDuck::Source::File.new(string, fname)
      file = JsDuck::Source::File.new(string, JsDuck::Parser.new.parse(string, fname), fname)

      agr = JsDuck::Aggregator.new
      agr.aggregate(file)