Current section

Files

Jump to
caffeine_lang src caffeine_lang@frontend@tokenizer_error.erl
Raw

src/caffeine_lang@frontend@tokenizer_error.erl

-module(caffeine_lang@frontend@tokenizer_error).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/frontend/tokenizer_error.gleam").
-export([to_string/1]).
-export_type([tokenizer_error/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.
-type tokenizer_error() :: {unterminated_string, integer(), integer()} |
{invalid_character, integer(), integer(), binary()}.
-file("src/caffeine_lang/frontend/tokenizer_error.gleam", 11).
?DOC(false).
-spec to_string(tokenizer_error()) -> binary().
to_string(Err) ->
case Err of
{unterminated_string, Line, Column} ->
<<<<<<"Unterminated string at line "/utf8,
(erlang:integer_to_binary(Line))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column))/binary>>;
{invalid_character, Line@1, Column@1, Char} ->
<<<<<<<<<<"Invalid character '"/utf8, Char/binary>>/binary,
"' at line "/utf8>>/binary,
(erlang:integer_to_binary(Line@1))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column@1))/binary>>
end.