Sha256: afe8282354db6882dc5e7c37e0f436c7d61673cfbbc33a58c1116c199f43d2cb

Contents?: true

Size: 1.22 KB

Versions: 4

Compression:

Stored size: 1.22 KB

Contents

module Yoda
  module Parsing
    require 'yoda/parsing/ast_traversable'
    require 'yoda/parsing/comment_tokenizer'
    require 'yoda/parsing/parser'
    require 'yoda/parsing/node_objects'
    require 'yoda/parsing/location'
    require 'yoda/parsing/scopes'
    require 'yoda/parsing/source_cutter'
    require 'yoda/parsing/range'
    require 'yoda/parsing/query'
    require 'yoda/parsing/type_parser'
    require 'yoda/parsing/traverser'

    class << self
      # @see {Parser#parse}
      def parse(*args)
        Parser.new.parse(*args)
      end

      # @see {Parser#parse_with_comments}
      def parse_with_comments(*args)
        Parser.new.parse_with_comments(*args)
      end

      # @see {Parser#parse_with_comments_if_valid}
      def parse_with_comments_if_valid(*args)
        Parser.new.parse_with_comments_if_valid(*args)
      end

      # Fix parse errors of the given source and return the modified source.
      # @param source [String]
      # @param location [Location]
      # @return [String] Modified source to fix parse errors.
      # @raise [SourceCutter::CannotRecoverError]
      def fix_parse_error(source:, location:)
        SourceCutter.new(source, location).error_recovered_source
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/parsing.rb
yoda-language-server-0.10.0 lib/yoda/parsing.rb
yoda-language-server-0.9.0 lib/yoda/parsing.rb
yoda-language-server-0.8.0 lib/yoda/parsing.rb