Class: Prism::Merge::ParseError

Inherits:
Ast::Merge::ParseError
  • Object
show all
Defined in:
lib/prism/merge.rb

Overview

Raised when a Ruby file has parsing errors.
Inherits from Ast::Merge::ParseError for consistency across merge gems.
Provides Prism-specific parse_result attribute.

Direct Known Subclasses

DestinationParseError, TemplateParseError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = nil, errors: [], content: nil, parse_result: nil) ⇒ ParseError

Returns a new instance of ParseError.

Parameters:

  • message (String, nil) (defaults to: nil)

    Error message (auto-generated if nil)

  • errors (Array) (defaults to: [])

    Array of error objects (for base class compatibility)

  • content (String, nil) (defaults to: nil)

    The Ruby source that failed to parse

  • parse_result (Prism::ParseResult, nil) (defaults to: nil)

    Parse result with error information



53
54
55
56
57
58
# File 'lib/prism/merge.rb', line 53

def initialize(message = nil, errors: [], content: nil, parse_result: nil)
  @parse_result = parse_result
  # If we have a parse_result, use its errors
  effective_errors = parse_result&.errors || errors
  super(message, errors: effective_errors, content: content)
end

Instance Attribute Details

#parse_resultPrism::ParseResult? (readonly)

Returns The Prism parse result containing error details.

Returns:

  • (Prism::ParseResult, nil)

    The Prism parse result containing error details



47
48
49
# File 'lib/prism/merge.rb', line 47

def parse_result
  @parse_result
end