Module: Yoda::Parsing

Defined in:
lib/yoda/parsing.rb,
lib/yoda/parsing/query.rb,
lib/yoda/parsing/range.rb,
lib/yoda/parsing/parser.rb,
lib/yoda/parsing/scopes.rb,
lib/yoda/parsing/location.rb,
lib/yoda/parsing/traverser.rb,
lib/yoda/parsing/scopes/base.rb,
lib/yoda/parsing/scopes/root.rb,
lib/yoda/parsing/type_parser.rb,
lib/yoda/parsing/node_objects.rb,
lib/yoda/parsing/source_cutter.rb,
lib/yoda/parsing/scopes/builder.rb,
lib/yoda/parsing/ast_traversable.rb,
lib/yoda/parsing/comment_tokenizer.rb,
lib/yoda/parsing/traverser/matcher.rb,
lib/yoda/parsing/traverser/result_set.rb,
lib/yoda/parsing/node_objects/args_node.rb,
lib/yoda/parsing/node_objects/mlhs_node.rb,
lib/yoda/parsing/node_objects/namespace.rb,
lib/yoda/parsing/node_objects/send_node.rb,
lib/yoda/parsing/node_objects/const_node.rb,
lib/yoda/parsing/scopes/class_definition.rb,
lib/yoda/parsing/scopes/method_definition.rb,
lib/yoda/parsing/scopes/module_definition.rb,
lib/yoda/parsing/traverser/query_interface.rb,
lib/yoda/parsing/query/current_comment_query.rb,
lib/yoda/parsing/scopes/meta_class_definition.rb,
lib/yoda/parsing/scopes/meta_method_definition.rb,
lib/yoda/parsing/node_objects/method_definition.rb,
lib/yoda/parsing/query/current_node_comment_query.rb,
lib/yoda/parsing/query/current_comment_token_query.rb,
lib/yoda/parsing/query/current_location_node_query.rb,
lib/yoda/parsing/query/current_commenting_node_query.rb

Defined Under Namespace

Modules: AstTraversable, NodeObjects, Query, Scopes Classes: CommentTokenizer, Location, Parser, Range, SourceCutter, Traverser, TypeParser

Class Method Summary collapse

Class Method Details

.fix_parse_error(source:, location:) ⇒ String

Fix parse errors of the given source and return the modified source.

Parameters:

Returns:

  • (String)

    Modified source to fix parse errors.

Raises:



36
37
38
# File 'lib/yoda/parsing.rb', line 36

def fix_parse_error(source:, location:)
  SourceCutter.new(source, location).error_recovered_source
end

.parse(*args) ⇒ Object

See Also:

  • {Parser{Parser#parse}


17
18
19
# File 'lib/yoda/parsing.rb', line 17

def parse(*args)
  Parser.new.parse(*args)
end

.parse_with_comments(*args) ⇒ Object

See Also:

  • {Parser{Parser#parse_with_comments}


22
23
24
# File 'lib/yoda/parsing.rb', line 22

def parse_with_comments(*args)
  Parser.new.parse_with_comments(*args)
end

.parse_with_comments_if_valid(*args) ⇒ Object

See Also:

  • {Parser{Parser#parse_with_comments_if_valid}


27
28
29
# File 'lib/yoda/parsing.rb', line 27

def parse_with_comments_if_valid(*args)
  Parser.new.parse_with_comments_if_valid(*args)
end