Current section
Files
Jump to
Current section
Files
src/kdleam@error.erl
-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).