Packages
caffeine_lang
4.7.8
6.3.1
6.3.0
6.2.2
6.2.1
6.2.0
6.1.2
6.1.1
6.1.0
6.0.0
5.6.0
5.5.0
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.0
5.1.1
5.1.0
5.0.12
5.0.11
5.0.10
5.0.8
5.0.7
5.0.6
5.0.5
5.0.4
5.0.1
5.0.0
4.10.0
4.9.0
4.8.3
4.8.2
4.8.1
4.8.0
4.7.9
4.7.8
4.7.7
4.7.6
4.7.5
4.6.7
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.0
4.5.1
4.5.0
4.4.4
4.4.3
4.4.1
4.4.0
4.3.7
4.3.6
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.2
1.0.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2
0.0.1
A compiler for generating reliability artifacts from service expectation definitions.
Current section
Files
Jump to
Current section
Files
src/caffeine_lang@frontend@parser_error.erl
-module(caffeine_lang@frontend@parser_error).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/frontend/parser_error.gleam").
-export([to_string/1, error_line/1, error_column/1]).
-export_type([parser_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 parser_error() :: {tokenizer_error,
caffeine_lang@frontend@tokenizer_error:tokenizer_error()} |
{unexpected_token, binary(), binary(), integer(), integer()} |
{unexpected_e_o_f, binary(), integer(), integer()} |
{unknown_type, binary(), integer(), integer()} |
{invalid_refinement, binary(), integer(), integer()} |
{quoted_field_name, binary(), integer(), integer()} |
{invalid_type_alias_name, binary(), binary(), integer(), integer()}.
-file("src/caffeine_lang/frontend/parser_error.gleam", 16).
?DOC(" Converts a parser error to a human-readable string.\n").
-spec to_string(parser_error()) -> binary().
to_string(Err) ->
case Err of
{tokenizer_error, Tok_err} ->
caffeine_lang@frontend@tokenizer_error:to_string(Tok_err);
{unexpected_token, Expected, Got, Line, Column} ->
<<<<<<<<<<<<<<"Unexpected token at line "/utf8,
(erlang:integer_to_binary(Line))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column))/binary>>/binary,
": expected "/utf8>>/binary,
Expected/binary>>/binary,
", got "/utf8>>/binary,
Got/binary>>;
{unexpected_e_o_f, Expected@1, Line@1, Column@1} ->
<<<<<<<<<<"Unexpected end of file at line "/utf8,
(erlang:integer_to_binary(Line@1))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column@1))/binary>>/binary,
": expected "/utf8>>/binary,
Expected@1/binary>>;
{unknown_type, Name, Line@2, Column@2} ->
<<<<<<<<<<"Unknown type '"/utf8, Name/binary>>/binary,
"' at line "/utf8>>/binary,
(erlang:integer_to_binary(Line@2))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column@2))/binary>>;
{invalid_refinement, Message, Line@3, Column@3} ->
<<<<<<<<<<"Invalid refinement at line "/utf8,
(erlang:integer_to_binary(Line@3))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column@3))/binary>>/binary,
": "/utf8>>/binary,
Message/binary>>;
{quoted_field_name, Name@1, Line@4, Column@4} ->
<<<<<<<<<<<<<<<<"Quoted field name at line "/utf8,
(erlang:integer_to_binary(Line@4))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column@4))/binary>>/binary,
": field names should not be quoted. Use '"/utf8>>/binary,
Name@1/binary>>/binary,
"' instead of '\""/utf8>>/binary,
Name@1/binary>>/binary,
"\"'"/utf8>>;
{invalid_type_alias_name, Name@2, Message@1, Line@5, Column@5} ->
<<<<<<<<<<<<<<"Invalid type alias name '"/utf8, Name@2/binary>>/binary,
"' at line "/utf8>>/binary,
(erlang:integer_to_binary(Line@5))/binary>>/binary,
", column "/utf8>>/binary,
(erlang:integer_to_binary(Column@5))/binary>>/binary,
": "/utf8>>/binary,
Message@1/binary>>
end.
-file("src/caffeine_lang/frontend/parser_error.gleam", 72).
?DOC(" Extracts the line number from a parser error.\n").
-spec error_line(parser_error()) -> integer().
error_line(Err) ->
case Err of
{tokenizer_error, Tok_err} ->
case Tok_err of
{unterminated_string, Line, _} ->
Line;
{invalid_character, Line@1, _, _} ->
Line@1
end;
{unexpected_token, _, _, Line@2, _} ->
Line@2;
{unexpected_e_o_f, _, Line@3, _} ->
Line@3;
{unknown_type, _, Line@4, _} ->
Line@4;
{invalid_refinement, _, Line@5, _} ->
Line@5;
{quoted_field_name, _, Line@6, _} ->
Line@6;
{invalid_type_alias_name, _, _, Line@7, _} ->
Line@7
end.
-file("src/caffeine_lang/frontend/parser_error.gleam", 89).
?DOC(" Extracts the column number from a parser error.\n").
-spec error_column(parser_error()) -> integer().
error_column(Err) ->
case Err of
{tokenizer_error, Tok_err} ->
case Tok_err of
{unterminated_string, _, Column} ->
Column;
{invalid_character, _, Column@1, _} ->
Column@1
end;
{unexpected_token, _, _, _, Column@2} ->
Column@2;
{unexpected_e_o_f, _, _, Column@3} ->
Column@3;
{unknown_type, _, _, Column@4} ->
Column@4;
{invalid_refinement, _, _, Column@5} ->
Column@5;
{quoted_field_name, _, _, Column@6} ->
Column@6;
{invalid_type_alias_name, _, _, _, Column@7} ->
Column@7
end.