Ruby 3.4 リファレンスマニュアル

class Prism::Result

[edit]

要約

Prism.#parsePrism.#lexPrism.#parse_lex などの解析系メソッドの戻り値(Prism::ParseResultPrism::LexResultPrism::ParseLexResult)の共通基底クラスです。解析結果本体 (value)以外の付随情報(コメント・マジックコメント・エラー・警告・ソースコード)を保持します。

Ruby 3.3 の prism にはこのクラスはなく、Prism::ParseResult がこれらのメソッドを直接持っていました。

[SEE_ALSO] Prism::ParseResult, Prism::LexResult, Prism::ParseLexResult

目次

インスタンスメソッド

インスタンスメソッド

code_units_cache(encoding) -> ProcRuby 3.4 から[permalink][rdoc][edit]

バイトオフセットを指定エンコーディングのコード単位のオフセットへ変換する処理をキャッシュ付きで行う Proc を返します。 Prism::Locationcode_units 系メソッドを多数の位置に対して繰り返し使う場合の高速化用です。

[PARAM] encoding:
コード単位の基準となるエンコーディング
comments -> ArrayRuby 3.4 から[permalink][rdoc][edit]

解析中に見つかったコメント(Prism::Comment のサブクラスのインスタンス)の配列を返します。

[SEE_ALSO] Prism::ParseResult#comments

data_loc -> Prism::Location | nilRuby 3.4 から[permalink][rdoc][edit]

ソースコード中に __END__ 行が存在する場合、その行からファイル末尾までの範囲を表す Prism::Location を返します。存在しない場合は nil を返します。

[SEE_ALSO] Prism::ParseResult#data_loc

encoding -> EncodingRuby 3.4 から[permalink][rdoc][edit]

解析したソースコードのエンコーディングを返します。 source.encoding と同じです。

errors -> ArrayRuby 3.4 から[permalink][rdoc][edit]

解析中に発生したエラー(Prism::ParseError のインスタンス)の配列を返します。

[SEE_ALSO] Prism::ParseResult#errors

failure? -> boolRuby 3.4 から[permalink][rdoc][edit]

Prism::Result#success? の否定です。

magic_comments -> ArrayRuby 3.4 から[permalink][rdoc][edit]

解析中に見つかったマジックコメント(Prism::MagicComment のインスタンス)の配列を返します。

[SEE_ALSO] Prism::ParseResult#magic_comments

source -> Prism::SourceRuby 3.4 から[permalink][rdoc][edit]

解析したソースコードそのものを表す Prism::Source のインスタンスを返します。

[SEE_ALSO] Prism::ParseResult#source

success? -> boolRuby 3.4 から[permalink][rdoc][edit]

解析にエラーがなかった場合に true を返します。

[SEE_ALSO] Prism::ParseResult#success?

warnings -> ArrayRuby 3.4 から[permalink][rdoc][edit]

解析中に発生した警告(Prism::ParseWarning のインスタンス)の配列を返します。

[SEE_ALSO] Prism::ParseResult#warnings