Herb C Reference
Loading...
Searching...
No Matches
errors.h
Go to the documentation of this file.
1// NOTE: This file is generated by the templates/template.rb script and should not
2// be modified manually. See /home/runner/work/herb/herb/templates/src/include/errors.h.erb
3
4#ifndef HERB_ERRORS_H
5#define HERB_ERRORS_H
6
7#include "errors.h"
8#include "location.h"
9#include "position.h"
10#include "token.h"
11#include "util/hb_allocator.h"
12#include "util/hb_array.h"
13#include "util/hb_buffer.h"
14#include "util/hb_string.h"
15
54
60
61
62typedef struct {
64 hb_string_T description;
65 hb_string_T expected;
66 hb_string_T found;
68
74
79
84
90
91typedef struct {
94 hb_string_T expected;
95 hb_string_T found;
97
102
103typedef struct {
105 hb_string_T error_message;
106 hb_string_T diagnostic_id;
107 hb_string_T level;
109
110typedef struct {
112 hb_string_T keyword;
114
115typedef struct {
117 hb_string_T keyword;
119
120typedef struct {
122 /* no additional fields */
124
125typedef struct {
127 /* no additional fields */
129
135
146
151
157
162
167
172
177
182
183typedef struct {
185 /* no additional fields */
187
194
195typedef struct {
197 hb_string_T partial;
199
200typedef struct {
202 hb_string_T partial;
203 hb_string_T keywords;
205
206typedef struct {
208 /* no additional fields */
210
216
221
222typedef struct {
224 /* no additional fields */
226
231
236
241
246
251
252typedef struct {
254 /* no additional fields */
256
261
262UNEXPECTED_ERROR_T* unexpected_error_init(hb_string_T description, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T* allocator);
263void append_unexpected_error(hb_string_T description, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
264UNEXPECTED_TOKEN_ERROR_T* unexpected_token_error_init(token_type_T expected_type, token_T* found, position_T start, position_T end, hb_allocator_T* allocator);
265void append_unexpected_token_error(token_type_T expected_type, token_T* found, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
266MISSING_OPENING_TAG_ERROR_T* missing_opening_tag_error_init(token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator);
267void append_missing_opening_tag_error(token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
268MISSING_CLOSING_TAG_ERROR_T* missing_closing_tag_error_init(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator);
269void append_missing_closing_tag_error(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
270TAG_NAMES_MISMATCH_ERROR_T* tag_names_mismatch_error_init(token_T* opening_tag, token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator);
271void append_tag_names_mismatch_error(token_T* opening_tag, token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
272VOID_ELEMENT_CLOSING_TAG_ERROR_T* void_element_closing_tag_error_init(token_T* tag_name, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T* allocator);
273void append_void_element_closing_tag_error(token_T* tag_name, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
274UNCLOSED_ELEMENT_ERROR_T* unclosed_element_error_init(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator);
275void append_unclosed_element_error(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
276RUBY_PARSE_ERROR_T* ruby_parse_error_init(hb_string_T error_message, hb_string_T diagnostic_id, hb_string_T level, position_T start, position_T end, hb_allocator_T* allocator);
277void append_ruby_parse_error(hb_string_T error_message, hb_string_T diagnostic_id, hb_string_T level, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
278ERB_CONTROL_FLOW_SCOPE_ERROR_T* erb_control_flow_scope_error_init(hb_string_T keyword, position_T start, position_T end, hb_allocator_T* allocator);
279void append_erb_control_flow_scope_error(hb_string_T keyword, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
280MISSING_ERB_END_TAG_ERROR_T* missing_erb_end_tag_error_init(hb_string_T keyword, position_T start, position_T end, hb_allocator_T* allocator);
281void append_missing_erb_end_tag_error(hb_string_T keyword, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
283void append_erb_multiple_blocks_in_tag_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
285void append_erb_case_with_conditions_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
286CONDITIONAL_ELEMENT_MULTIPLE_TAGS_ERROR_T* conditional_element_multiple_tags_error_init(size_t line, size_t column, position_T start, position_T end, hb_allocator_T* allocator);
287void append_conditional_element_multiple_tags_error(size_t line, size_t column, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
288CONDITIONAL_ELEMENT_CONDITION_MISMATCH_ERROR_T* conditional_element_condition_mismatch_error_init(hb_string_T tag_name, hb_string_T open_condition, size_t open_line, size_t open_column, hb_string_T close_condition, size_t close_line, size_t close_column, position_T start, position_T end, hb_allocator_T* allocator);
289void append_conditional_element_condition_mismatch_error(hb_string_T tag_name, hb_string_T open_condition, size_t open_line, size_t open_column, hb_string_T close_condition, size_t close_line, size_t close_column, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
291void append_invalid_comment_closing_tag_error(token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
292OMITTED_CLOSING_TAG_ERROR_T* omitted_closing_tag_error_init(token_T* opening_tag, position_T insertion_point, position_T start, position_T end, hb_allocator_T* allocator);
293void append_omitted_closing_tag_error(token_T* opening_tag, position_T insertion_point, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
294UNCLOSED_OPEN_TAG_ERROR_T* unclosed_open_tag_error_init(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator);
295void append_unclosed_open_tag_error(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
296UNCLOSED_CLOSE_TAG_ERROR_T* unclosed_close_tag_error_init(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator);
297void append_unclosed_close_tag_error(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
298UNCLOSED_QUOTE_ERROR_T* unclosed_quote_error_init(token_T* opening_quote, position_T start, position_T end, hb_allocator_T* allocator);
299void append_unclosed_quote_error(token_T* opening_quote, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
300MISSING_ATTRIBUTE_VALUE_ERROR_T* missing_attribute_value_error_init(hb_string_T attribute_name, position_T start, position_T end, hb_allocator_T* allocator);
301void append_missing_attribute_value_error(hb_string_T attribute_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
302UNCLOSED_ERB_TAG_ERROR_T* unclosed_erb_tag_error_init(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator);
303void append_unclosed_erb_tag_error(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
305void append_stray_erb_closing_tag_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
306NESTED_ERB_TAG_ERROR_T* nested_erb_tag_error_init(token_T* opening_tag, size_t nested_tag_line, size_t nested_tag_column, position_T start, position_T end, hb_allocator_T* allocator);
307void append_nested_erb_tag_error(token_T* opening_tag, size_t nested_tag_line, size_t nested_tag_column, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
308RENDER_AMBIGUOUS_LOCALS_ERROR_T* render_ambiguous_locals_error_init(hb_string_T partial, position_T start, position_T end, hb_allocator_T* allocator);
309void append_render_ambiguous_locals_error(hb_string_T partial, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
310RENDER_MISSING_LOCALS_ERROR_T* render_missing_locals_error_init(hb_string_T partial, hb_string_T keywords, position_T start, position_T end, hb_allocator_T* allocator);
311void append_render_missing_locals_error(hb_string_T partial, hb_string_T keywords, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
313void append_render_no_arguments_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
314RENDER_CONFLICTING_PARTIAL_ERROR_T* render_conflicting_partial_error_init(hb_string_T positional_partial, hb_string_T keyword_partial, position_T start, position_T end, hb_allocator_T* allocator);
315void append_render_conflicting_partial_error(hb_string_T positional_partial, hb_string_T keyword_partial, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
316RENDER_INVALID_AS_OPTION_ERROR_T* render_invalid_as_option_error_init(hb_string_T as_value, position_T start, position_T end, hb_allocator_T* allocator);
317void append_render_invalid_as_option_error(hb_string_T as_value, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
319void append_render_object_and_collection_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
320RENDER_LAYOUT_WITHOUT_BLOCK_ERROR_T* render_layout_without_block_error_init(hb_string_T layout, position_T start, position_T end, hb_allocator_T* allocator);
321void append_render_layout_without_block_error(hb_string_T layout, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
323void append_strict_locals_positional_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
324STRICT_LOCALS_BLOCK_ARGUMENT_ERROR_T* strict_locals_block_argument_error_init(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator);
325void append_strict_locals_block_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
326STRICT_LOCALS_SPLAT_ARGUMENT_ERROR_T* strict_locals_splat_argument_error_init(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator);
327void append_strict_locals_splat_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
329void append_strict_locals_missing_parenthesis_error(hb_string_T rest, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
331void append_strict_locals_duplicate_declaration_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
332DOT_NOTATION_CASING_ERROR_T* dot_notation_casing_error_init(token_T* segment, position_T start, position_T end, hb_allocator_T* allocator);
333void append_dot_notation_casing_error(token_T* segment, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T* errors);
334
335void error_init(ERROR_T* error, error_type_T type, position_T start, position_T end);
336
337size_t error_sizeof(void);
339
340hb_string_T error_message(ERROR_T* error);
341
342hb_string_T error_type_to_string(ERROR_T* error);
343hb_string_T error_human_type(ERROR_T* error);
344
345void error_free(ERROR_T* error, hb_allocator_T* allocator);
346
347#ifndef HERB_EXCLUDE_PRETTYPRINT
348 void error_pretty_print(ERROR_T* error, size_t indent, size_t relative_indent, hb_buffer_T* buffer);
349
351 const char* name, hb_array_T* array, size_t indent, size_t relative_indent, bool last_property,
352 hb_buffer_T* buffer
353 );
354#endif
355
356#endif
void append_render_ambiguous_locals_error(hb_string_T partial, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:855
RENDER_NO_ARGUMENTS_ERROR_T * render_no_arguments_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:901
void append_omitted_closing_tag_error(token_T *opening_tag, position_T insertion_point, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:590
void append_conditional_element_condition_mismatch_error(hb_string_T tag_name, hb_string_T open_condition, size_t open_line, size_t open_column, hb_string_T close_condition, size_t close_line, size_t close_column, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:516
void append_strict_locals_splat_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1126
void append_ruby_parse_error(hb_string_T error_message, hb_string_T diagnostic_id, hb_string_T level, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:342
void append_missing_erb_end_tag_error(hb_string_T keyword, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:404
error_type_T error_type(ERROR_T *error)
MISSING_ERB_END_TAG_ERROR_T * missing_erb_end_tag_error_init(hb_string_T keyword, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:377
void append_strict_locals_missing_parenthesis_error(hb_string_T rest, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1157
void append_render_invalid_as_option_error(hb_string_T as_value, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:981
void append_invalid_comment_closing_tag_error(token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:549
STRICT_LOCALS_DUPLICATE_DECLARATION_ERROR_T * strict_locals_duplicate_declaration_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1161
void append_unclosed_open_tag_error(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:623
UNCLOSED_ERB_TAG_ERROR_T * unclosed_erb_tag_error_init(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:726
void append_void_element_closing_tag_error(token_T *tag_name, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:271
TAG_NAMES_MISMATCH_ERROR_T * tag_names_mismatch_error_init(token_T *opening_tag, token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:186
STRICT_LOCALS_POSITIONAL_ARGUMENT_ERROR_T * strict_locals_positional_argument_error_init(hb_string_T name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1032
void append_unclosed_element_error(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:304
void append_strict_locals_positional_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1064
void append_tag_names_mismatch_error(token_T *opening_tag, token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:223
ERB_CONTROL_FLOW_SCOPE_ERROR_T * erb_control_flow_scope_error_init(hb_string_T keyword, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:346
UNCLOSED_QUOTE_ERROR_T * unclosed_quote_error_init(token_T *opening_quote, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:660
ERB_CASE_WITH_CONDITIONS_ERROR_T * erb_case_with_conditions_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:424
UNCLOSED_CLOSE_TAG_ERROR_T * unclosed_close_tag_error_init(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:627
void append_render_object_and_collection_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:997
RENDER_LAYOUT_WITHOUT_BLOCK_ERROR_T * render_layout_without_block_error_init(hb_string_T layout, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1001
NESTED_ERB_TAG_ERROR_T * nested_erb_tag_error_init(token_T *opening_tag, size_t nested_tag_line, size_t nested_tag_column, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:786
void append_unclosed_erb_tag_error(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:755
MISSING_CLOSING_TAG_ERROR_T * missing_closing_tag_error_init(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:148
RENDER_AMBIGUOUS_LOCALS_ERROR_T * render_ambiguous_locals_error_init(hb_string_T partial, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:823
void append_nested_erb_tag_error(token_T *opening_tag, size_t nested_tag_line, size_t nested_tag_column, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:819
ERB_MULTIPLE_BLOCKS_IN_TAG_ERROR_T * erb_multiple_blocks_in_tag_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:408
hb_string_T error_message(ERROR_T *error)
STRICT_LOCALS_MISSING_PARENTHESIS_ERROR_T * strict_locals_missing_parenthesis_error_init(hb_string_T rest, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1130
RENDER_MISSING_LOCALS_ERROR_T * render_missing_locals_error_init(hb_string_T partial, hb_string_T keywords, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:859
STRAY_ERB_CLOSING_TAG_ERROR_T * stray_erb_closing_tag_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:759
struct ERROR_STRUCT ERROR_T
void error_pretty_print(ERROR_T *error, size_t indent, size_t relative_indent, hb_buffer_T *buffer)
Definition errors.c:2145
void append_dot_notation_casing_error(token_T *segment, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1204
UNEXPECTED_ERROR_T * unexpected_error_init(hb_string_T description, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:33
error_type_T
Definition errors.h:16
@ CONDITIONAL_ELEMENT_MULTIPLE_TAGS_ERROR
Definition errors.h:29
@ RENDER_MISSING_LOCALS_ERROR
Definition errors.h:41
@ RENDER_OBJECT_AND_COLLECTION_ERROR
Definition errors.h:45
@ RENDER_AMBIGUOUS_LOCALS_ERROR
Definition errors.h:40
@ UNEXPECTED_ERROR
Definition errors.h:17
@ STRICT_LOCALS_POSITIONAL_ARGUMENT_ERROR
Definition errors.h:47
@ UNCLOSED_OPEN_TAG_ERROR
Definition errors.h:33
@ RENDER_NO_ARGUMENTS_ERROR
Definition errors.h:42
@ STRICT_LOCALS_DUPLICATE_DECLARATION_ERROR
Definition errors.h:51
@ DOT_NOTATION_CASING_ERROR
Definition errors.h:52
@ RENDER_CONFLICTING_PARTIAL_ERROR
Definition errors.h:43
@ ERB_CASE_WITH_CONDITIONS_ERROR
Definition errors.h:28
@ STRICT_LOCALS_SPLAT_ARGUMENT_ERROR
Definition errors.h:49
@ UNEXPECTED_TOKEN_ERROR
Definition errors.h:18
@ STRICT_LOCALS_BLOCK_ARGUMENT_ERROR
Definition errors.h:48
@ VOID_ELEMENT_CLOSING_TAG_ERROR
Definition errors.h:22
@ MISSING_CLOSING_TAG_ERROR
Definition errors.h:20
@ MISSING_ATTRIBUTE_VALUE_ERROR
Definition errors.h:36
@ OMITTED_CLOSING_TAG_ERROR
Definition errors.h:32
@ NESTED_ERB_TAG_ERROR
Definition errors.h:39
@ RUBY_PARSE_ERROR
Definition errors.h:24
@ INVALID_COMMENT_CLOSING_TAG_ERROR
Definition errors.h:31
@ STRAY_ERB_CLOSING_TAG_ERROR
Definition errors.h:38
@ TAG_NAMES_MISMATCH_ERROR
Definition errors.h:21
@ CONDITIONAL_ELEMENT_CONDITION_MISMATCH_ERROR
Definition errors.h:30
@ UNCLOSED_ELEMENT_ERROR
Definition errors.h:23
@ MISSING_ERB_END_TAG_ERROR
Definition errors.h:26
@ ERB_CONTROL_FLOW_SCOPE_ERROR
Definition errors.h:25
@ STRICT_LOCALS_MISSING_PARENTHESIS_ERROR
Definition errors.h:50
@ RENDER_INVALID_AS_OPTION_ERROR
Definition errors.h:44
@ UNCLOSED_QUOTE_ERROR
Definition errors.h:35
@ UNCLOSED_ERB_TAG_ERROR
Definition errors.h:37
@ UNCLOSED_CLOSE_TAG_ERROR
Definition errors.h:34
@ MISSING_OPENING_TAG_ERROR
Definition errors.h:19
@ ERB_MULTIPLE_BLOCKS_IN_TAG_ERROR
Definition errors.h:27
@ RENDER_LAYOUT_WITHOUT_BLOCK_ERROR
Definition errors.h:46
void error_free(ERROR_T *error, hb_allocator_T *allocator)
Definition errors.c:1538
void append_erb_multiple_blocks_in_tag_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:420
UNCLOSED_OPEN_TAG_ERROR_T * unclosed_open_tag_error_init(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:594
VOID_ELEMENT_CLOSING_TAG_ERROR_T * void_element_closing_tag_error_init(token_T *tag_name, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:227
void append_erb_control_flow_scope_error(hb_string_T keyword, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:373
STRICT_LOCALS_SPLAT_ARGUMENT_ERROR_T * strict_locals_splat_argument_error_init(hb_string_T name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1099
void append_render_missing_locals_error(hb_string_T partial, hb_string_T keywords, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:897
size_t error_sizeof(void)
Definition errors.c:21
void append_render_no_arguments_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:913
CONDITIONAL_ELEMENT_CONDITION_MISMATCH_ERROR_T * conditional_element_condition_mismatch_error_init(hb_string_T tag_name, hb_string_T open_condition, size_t open_line, size_t open_column, hb_string_T close_condition, size_t close_line, size_t close_column, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:469
void append_unexpected_error(hb_string_T description, hb_string_T expected, hb_string_T found, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:72
MISSING_ATTRIBUTE_VALUE_ERROR_T * missing_attribute_value_error_init(hb_string_T attribute_name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:693
void append_unexpected_token_error(token_type_T expected_type, token_T *found, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:111
hb_string_T error_human_type(ERROR_T *error)
Definition errors.c:1251
MISSING_OPENING_TAG_ERROR_T * missing_opening_tag_error_init(token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:115
void error_init(ERROR_T *error, error_type_T type, position_T start, position_T end)
Definition errors.c:25
UNEXPECTED_TOKEN_ERROR_T * unexpected_token_error_init(token_type_T expected_type, token_T *found, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:76
void error_pretty_print_array(const char *name, hb_array_T *array, size_t indent, size_t relative_indent, bool last_property, hb_buffer_T *buffer)
Definition errors.c:1583
RENDER_CONFLICTING_PARTIAL_ERROR_T * render_conflicting_partial_error_init(hb_string_T positional_partial, hb_string_T keyword_partial, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:917
hb_string_T error_type_to_string(ERROR_T *error)
Definition errors.c:1208
void append_missing_opening_tag_error(token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:144
STRICT_LOCALS_BLOCK_ARGUMENT_ERROR_T * strict_locals_block_argument_error_init(hb_string_T name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1068
void append_missing_attribute_value_error(hb_string_T attribute_name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:722
void append_conditional_element_multiple_tags_error(size_t line, size_t column, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:465
DOT_NOTATION_CASING_ERROR_T * dot_notation_casing_error_init(token_T *segment, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1177
void append_missing_closing_tag_error(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:182
void append_strict_locals_duplicate_declaration_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1173
void append_strict_locals_block_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1095
void append_render_layout_without_block_error(hb_string_T layout, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:1028
void append_unclosed_close_tag_error(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:656
INVALID_COMMENT_CLOSING_TAG_ERROR_T * invalid_comment_closing_tag_error_init(token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:520
void append_stray_erb_closing_tag_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:782
RENDER_INVALID_AS_OPTION_ERROR_T * render_invalid_as_option_error_init(hb_string_T as_value, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:954
void append_unclosed_quote_error(token_T *opening_quote, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:689
RENDER_OBJECT_AND_COLLECTION_ERROR_T * render_object_and_collection_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:985
CONDITIONAL_ELEMENT_MULTIPLE_TAGS_ERROR_T * conditional_element_multiple_tags_error_init(size_t line, size_t column, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:440
RUBY_PARSE_ERROR_T * ruby_parse_error_init(hb_string_T error_message, hb_string_T diagnostic_id, hb_string_T level, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:308
void append_erb_case_with_conditions_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:436
void append_render_conflicting_partial_error(hb_string_T positional_partial, hb_string_T keyword_partial, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T *errors)
Definition errors.c:950
OMITTED_CLOSING_TAG_ERROR_T * omitted_closing_tag_error_init(token_T *opening_tag, position_T insertion_point, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:553
UNCLOSED_ELEMENT_ERROR_T * unclosed_element_error_init(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:275
ERROR_T base
Definition errors.h:137
size_t open_column
Definition errors.h:141
hb_string_T close_condition
Definition errors.h:142
size_t open_line
Definition errors.h:140
size_t close_line
Definition errors.h:143
size_t close_column
Definition errors.h:144
hb_string_T open_condition
Definition errors.h:139
hb_string_T tag_name
Definition errors.h:138
size_t column
Definition errors.h:133
ERROR_T base
Definition errors.h:131
size_t line
Definition errors.h:132
Definition errors.h:257
token_T * segment
Definition errors.h:259
ERROR_T base
Definition errors.h:258
Definition errors.h:125
ERROR_T base
Definition errors.h:126
Definition errors.h:110
hb_string_T keyword
Definition errors.h:112
ERROR_T base
Definition errors.h:111
Definition errors.h:120
ERROR_T base
Definition errors.h:121
Definition errors.h:55
error_type_T type
Definition errors.h:56
location_T location
Definition errors.h:57
hb_string_T message
Definition errors.h:58
token_T * closing_tag
Definition errors.h:149
ERROR_T base
Definition errors.h:148
Definition location.h:10
Definition errors.h:173
hb_string_T attribute_name
Definition errors.h:175
ERROR_T base
Definition errors.h:174
Definition errors.h:80
ERROR_T base
Definition errors.h:81
token_T * opening_tag
Definition errors.h:82
Definition errors.h:115
hb_string_T keyword
Definition errors.h:117
ERROR_T base
Definition errors.h:116
Definition errors.h:75
token_T * closing_tag
Definition errors.h:77
ERROR_T base
Definition errors.h:76
Definition errors.h:188
size_t nested_tag_line
Definition errors.h:191
size_t nested_tag_column
Definition errors.h:192
ERROR_T base
Definition errors.h:189
token_T * opening_tag
Definition errors.h:190
Definition errors.h:152
ERROR_T base
Definition errors.h:153
position_T insertion_point
Definition errors.h:155
token_T * opening_tag
Definition errors.h:154
Definition position.h:8
Definition errors.h:195
ERROR_T base
Definition errors.h:196
hb_string_T partial
Definition errors.h:197
Definition errors.h:211
hb_string_T keyword_partial
Definition errors.h:214
ERROR_T base
Definition errors.h:212
hb_string_T positional_partial
Definition errors.h:213
Definition errors.h:217
ERROR_T base
Definition errors.h:218
hb_string_T as_value
Definition errors.h:219
hb_string_T layout
Definition errors.h:229
ERROR_T base
Definition errors.h:228
Definition errors.h:200
hb_string_T partial
Definition errors.h:202
hb_string_T keywords
Definition errors.h:203
ERROR_T base
Definition errors.h:201
Definition errors.h:206
ERROR_T base
Definition errors.h:207
ERROR_T base
Definition errors.h:223
Definition errors.h:103
ERROR_T base
Definition errors.h:104
hb_string_T level
Definition errors.h:107
hb_string_T error_message
Definition errors.h:105
hb_string_T diagnostic_id
Definition errors.h:106
Definition errors.h:183
ERROR_T base
Definition errors.h:184
hb_string_T name
Definition errors.h:239
ERROR_T base
Definition errors.h:238
ERROR_T base
Definition errors.h:253
ERROR_T base
Definition errors.h:248
hb_string_T rest
Definition errors.h:249
hb_string_T name
Definition errors.h:234
ERROR_T base
Definition errors.h:233
hb_string_T name
Definition errors.h:244
ERROR_T base
Definition errors.h:243
Definition errors.h:85
token_T * opening_tag
Definition errors.h:87
token_T * closing_tag
Definition errors.h:88
ERROR_T base
Definition errors.h:86
Definition token_struct.h:58
Definition errors.h:163
token_T * tag_name
Definition errors.h:165
ERROR_T base
Definition errors.h:164
Definition errors.h:98
ERROR_T base
Definition errors.h:99
token_T * opening_tag
Definition errors.h:100
Definition errors.h:178
token_T * opening_tag
Definition errors.h:180
ERROR_T base
Definition errors.h:179
Definition errors.h:158
ERROR_T base
Definition errors.h:159
token_T * tag_name
Definition errors.h:160
Definition errors.h:168
token_T * opening_quote
Definition errors.h:170
ERROR_T base
Definition errors.h:169
Definition errors.h:62
hb_string_T expected
Definition errors.h:65
ERROR_T base
Definition errors.h:63
hb_string_T found
Definition errors.h:66
hb_string_T description
Definition errors.h:64
Definition errors.h:69
token_T * found
Definition errors.h:72
ERROR_T base
Definition errors.h:70
token_type_T expected_type
Definition errors.h:71
Definition errors.h:91
ERROR_T base
Definition errors.h:92
token_T * tag_name
Definition errors.h:93
hb_string_T expected
Definition errors.h:94
hb_string_T found
Definition errors.h:95
token_type_T
Definition token_struct.h:10