-module(kdleam@error). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/kdleam/error.gleam"). -export([make/3, unexpected_char/3, unexpected_eof/2]). -export_type([kdl_error/0, kdl_error_kind/0, kdl_error_tag/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(" KDL v2 の解析エラーを表す。\n"). -type kdl_error() :: {kdl_error, integer(), integer(), kdl_error_kind()}. -type kdl_error_kind() :: {kdl_error_kind, kdl_error_tag()}. -type kdl_error_tag() :: {unexpected_char, binary()} | unexpected_eof | invalid_escape | invalid_unicode_escape | invalid_number | {disallowed_code_point, binary()} | bare_keyword | unmatched_block_comment_end | unclosed_block_comment | unclosed_string | inconsistent_indentation | invalid_slashdash. -file("src/kdleam/error.gleam", 30). ?DOC(" 指定した行、列、タグを保持するエラーを作る。\n"). -spec make(integer(), integer(), kdl_error_tag()) -> kdl_error(). make(Line, Col, Tag) -> {kdl_error, Line, Col, {kdl_error_kind, Tag}}. -file("src/kdleam/error.gleam", 35). ?DOC(" 指定した行、列、文字を保持するエラーを作る。\n"). -spec unexpected_char(integer(), integer(), binary()) -> kdl_error(). unexpected_char(Line, Col, Ch) -> make(Line, Col, {unexpected_char, Ch}). -file("src/kdleam/error.gleam", 40). ?DOC(" 指定した行と列を保持する入力終端のエラーを作る。\n"). -spec unexpected_eof(integer(), integer()) -> kdl_error(). unexpected_eof(Line, Col) -> make(Line, Col, unexpected_eof).