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 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/location.h"
9#include "location/position.h"
10#include "lexer/token.h"
11#include "lib/hb_allocator.h"
12#include "lib/hb_array.h"
13#include "lib/hb_buffer.h"
14#include "lib/hb_string.h"
15
16struct PARSER_OPTIONS_STRUCT;
17
18typedef enum {
71
72typedef struct ERROR_STRUCT {
74 location_T location;
75 hb_string_T message;
77
78
79typedef struct {
81 hb_string_T description;
82 hb_string_T expected;
83 hb_string_T found;
85
86typedef struct {
88 token_type_T expected_type;
89 token_T* found;
91
96
101
107
108typedef struct {
110 token_T* tag_name;
111 hb_string_T expected;
112 hb_string_T found;
114
119
120typedef struct {
122 hb_string_T error_message;
123 hb_string_T diagnostic_id;
124 hb_string_T level;
126
127typedef struct {
129 hb_string_T keyword;
131
132typedef struct {
134 hb_string_T keyword;
136
137typedef struct {
139 /* no additional fields */
141
142typedef struct {
144 /* no additional fields */
146
152
163
168
174
179
185
186typedef struct {
188 token_T* tag_name;
190
191typedef struct {
193 token_T* tag_name;
195
200
205
210
215
220
225
230
235
240
246
247typedef struct {
249 /* no additional fields */
251
258
259typedef struct {
261 hb_string_T partial;
263
264typedef struct {
266 hb_string_T partial;
267 hb_string_T keywords;
269
270typedef struct {
272 /* no additional fields */
274
280
285
286typedef struct {
288 /* no additional fields */
290
295
300
305
310
315
316typedef struct {
318 /* no additional fields */
320
325
326typedef struct {
328 hb_string_T found;
329 hb_string_T expected;
331
336
337typedef struct {
339 /* no additional fields */
341
342typedef struct {
344 token_T* tag_name;
345 hb_string_T helper_name;
346 hb_string_T content_type;
348
349typedef struct {
351 token_T* segment;
353
354typedef struct {
358
359UNEXPECTED_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);
360void 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, const struct PARSER_OPTIONS_STRUCT* options);
361UNEXPECTED_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);
362void 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, const struct PARSER_OPTIONS_STRUCT* options);
363MISSING_OPENING_TAG_ERROR_T* missing_opening_tag_error_init(token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator);
364void append_missing_opening_tag_error(token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
365MISSING_CLOSING_TAG_ERROR_T* missing_closing_tag_error_init(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator);
366void append_missing_closing_tag_error(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
367TAG_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);
368void 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, const struct PARSER_OPTIONS_STRUCT* options);
369VOID_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);
370void 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, const struct PARSER_OPTIONS_STRUCT* options);
371UNCLOSED_ELEMENT_ERROR_T* unclosed_element_error_init(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator);
372void append_unclosed_element_error(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
373RUBY_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);
374void 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, const struct PARSER_OPTIONS_STRUCT* options);
375ERB_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);
376void append_erb_control_flow_scope_error(hb_string_T keyword, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
377MISSING_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);
378void append_missing_erb_end_tag_error(hb_string_T keyword, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
379ERB_MULTIPLE_BLOCKS_IN_TAG_ERROR_T* erb_multiple_blocks_in_tag_error_init(position_T start, position_T end, hb_allocator_T* allocator);
380void append_erb_multiple_blocks_in_tag_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
381ERB_CASE_WITH_CONDITIONS_ERROR_T* erb_case_with_conditions_error_init(position_T start, position_T end, hb_allocator_T* allocator);
382void append_erb_case_with_conditions_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
383CONDITIONAL_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);
384void 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, const struct PARSER_OPTIONS_STRUCT* options);
385CONDITIONAL_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);
386void 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, const struct PARSER_OPTIONS_STRUCT* options);
387UNCLOSED_COMMENT_ERROR_T* unclosed_comment_error_init(token_T* comment_start, position_T start, position_T end, hb_allocator_T* allocator);
388void append_unclosed_comment_error(token_T* comment_start, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
389NESTED_COMMENT_ERROR_T* nested_comment_error_init(token_T* comment_start, token_T* nested_start, position_T start, position_T end, hb_allocator_T* allocator);
390void append_nested_comment_error(token_T* comment_start, token_T* nested_start, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
391INVALID_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);
392void append_invalid_comment_closing_tag_error(token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
393OMITTED_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);
394void 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, const struct PARSER_OPTIONS_STRUCT* options);
395UNCLOSED_OPEN_TAG_ERROR_T* unclosed_open_tag_error_init(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator);
396void append_unclosed_open_tag_error(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
397UNCLOSED_CLOSE_TAG_ERROR_T* unclosed_close_tag_error_init(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator);
398void append_unclosed_close_tag_error(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
399END_TAG_WITH_TRAILING_SOLIDUS_ERROR_T* end_tag_with_trailing_solidus_error_init(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator);
400void append_end_tag_with_trailing_solidus_error(token_T* tag_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
401UNCLOSED_QUOTE_ERROR_T* unclosed_quote_error_init(token_T* opening_quote, position_T start, position_T end, hb_allocator_T* allocator);
402void append_unclosed_quote_error(token_T* opening_quote, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
403MISSING_ATTRIBUTE_VALUE_ERROR_T* missing_attribute_value_error_init(hb_string_T attribute_name, position_T start, position_T end, hb_allocator_T* allocator);
404void append_missing_attribute_value_error(hb_string_T attribute_name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
405MISSING_WHITESPACE_BETWEEN_ATTRIBUTES_ERROR_T* missing_whitespace_between_attributes_error_init(token_T* found, position_T start, position_T end, hb_allocator_T* allocator);
406void append_missing_whitespace_between_attributes_error(token_T* found, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
407UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME_ERROR_T* unexpected_character_in_attribute_name_error_init(token_T* character, position_T start, position_T end, hb_allocator_T* allocator);
408void append_unexpected_character_in_attribute_name_error(token_T* character, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
409UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE_ERROR_T* unexpected_character_in_unquoted_attribute_value_error_init(token_T* character, position_T start, position_T end, hb_allocator_T* allocator);
410void append_unexpected_character_in_unquoted_attribute_value_error(token_T* character, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
411UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME_ERROR_T* unexpected_equals_sign_before_attribute_name_error_init(token_T* equals, position_T start, position_T end, hb_allocator_T* allocator);
412void append_unexpected_equals_sign_before_attribute_name_error(token_T* equals, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
413UNEXPECTED_SOLIDUS_IN_TAG_ERROR_T* unexpected_solidus_in_tag_error_init(token_T* solidus, position_T start, position_T end, hb_allocator_T* allocator);
414void append_unexpected_solidus_in_tag_error(token_T* solidus, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
415UNCLOSED_ERB_TAG_ERROR_T* unclosed_erb_tag_error_init(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator);
416void append_unclosed_erb_tag_error(token_T* opening_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
417MALFORMED_ERB_CLOSING_TAG_ERROR_T* malformed_erb_closing_tag_error_init(token_T* opening_tag, token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator);
418void append_malformed_erb_closing_tag_error(token_T* opening_tag, token_T* closing_tag, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
419STRAY_ERB_CLOSING_TAG_ERROR_T* stray_erb_closing_tag_error_init(position_T start, position_T end, hb_allocator_T* allocator);
420void append_stray_erb_closing_tag_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
421NESTED_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);
422void 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, const struct PARSER_OPTIONS_STRUCT* options);
423RENDER_AMBIGUOUS_LOCALS_ERROR_T* render_ambiguous_locals_error_init(hb_string_T partial, position_T start, position_T end, hb_allocator_T* allocator);
424void append_render_ambiguous_locals_error(hb_string_T partial, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
425RENDER_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);
426void 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, const struct PARSER_OPTIONS_STRUCT* options);
427RENDER_NO_ARGUMENTS_ERROR_T* render_no_arguments_error_init(position_T start, position_T end, hb_allocator_T* allocator);
428void append_render_no_arguments_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
429RENDER_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);
430void 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, const struct PARSER_OPTIONS_STRUCT* options);
431RENDER_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);
432void 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, const struct PARSER_OPTIONS_STRUCT* options);
433RENDER_OBJECT_AND_COLLECTION_ERROR_T* render_object_and_collection_error_init(position_T start, position_T end, hb_allocator_T* allocator);
434void append_render_object_and_collection_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
435RENDER_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);
436void append_render_layout_without_block_error(hb_string_T layout, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
437STRICT_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);
438void append_strict_locals_positional_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
439STRICT_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);
440void append_strict_locals_block_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
441STRICT_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);
442void append_strict_locals_splat_argument_error(hb_string_T name, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
443STRICT_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);
444void append_strict_locals_missing_parenthesis_error(hb_string_T rest, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
445STRICT_LOCALS_DUPLICATE_DECLARATION_ERROR_T* strict_locals_duplicate_declaration_error_init(position_T start, position_T end, hb_allocator_T* allocator);
446void append_strict_locals_duplicate_declaration_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
447HERB_STATE_MISSING_PARENTHESIS_ERROR_T* herb_state_missing_parenthesis_error_init(hb_string_T rest, position_T start, position_T end, hb_allocator_T* allocator);
448void append_herb_state_missing_parenthesis_error(hb_string_T rest, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
449HERB_STATE_NON_CANONICAL_DIRECTIVE_ERROR_T* herb_state_non_canonical_directive_error_init(hb_string_T found, hb_string_T expected, position_T start, position_T end, hb_allocator_T* allocator);
450void append_herb_state_non_canonical_directive_error(hb_string_T found, hb_string_T expected, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
451HERB_STATE_INVALID_PARAMETER_ERROR_T* herb_state_invalid_parameter_error_init(hb_string_T parameter, position_T start, position_T end, hb_allocator_T* allocator);
452void append_herb_state_invalid_parameter_error(hb_string_T parameter, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
453HERB_STATE_DUPLICATE_DECLARATION_ERROR_T* herb_state_duplicate_declaration_error_init(position_T start, position_T end, hb_allocator_T* allocator);
454void append_herb_state_duplicate_declaration_error(position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
455VOID_ELEMENT_CONTENT_ERROR_T* void_element_content_error_init(token_T* tag_name, hb_string_T helper_name, hb_string_T content_type, position_T start, position_T end, hb_allocator_T* allocator);
456void append_void_element_content_error(token_T* tag_name, hb_string_T helper_name, hb_string_T content_type, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
457DOT_NOTATION_CASING_ERROR_T* dot_notation_casing_error_init(token_T* segment, position_T start, position_T end, hb_allocator_T* allocator);
458void append_dot_notation_casing_error(token_T* segment, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
459TIMEOUT_ERROR_T* timeout_error_init(size_t timeout_ms, position_T start, position_T end, hb_allocator_T* allocator);
460void append_timeout_error(size_t timeout_ms, position_T start, position_T end, hb_allocator_T* allocator, hb_array_T** errors, const struct PARSER_OPTIONS_STRUCT* options);
461
462void error_init(ERROR_T* error, error_type_T type, position_T start, position_T end);
463
464size_t error_sizeof(void);
466
467hb_string_T error_message(ERROR_T* error);
468
469hb_string_T error_type_to_string(ERROR_T* error);
470hb_string_T error_human_type(ERROR_T* error);
471
472void error_free(ERROR_T* error, hb_allocator_T* allocator);
473
474#ifndef HERB_EXCLUDE_PRETTYPRINT
475 void error_pretty_print(ERROR_T* error, size_t indent, size_t relative_indent, hb_buffer_T* buffer);
476
478 const char* name, hb_array_T* array, size_t indent, size_t relative_indent, bool last_property,
479 hb_buffer_T* buffer
480 );
481#endif
482
483#endif
RENDER_NO_ARGUMENTS_ERROR_T * render_no_arguments_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1326
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1509
UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME_ERROR_T * unexpected_equals_sign_before_attribute_name_error_init(token_T *equals, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1022
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:414
void append_strict_locals_duplicate_declaration_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1634
void append_missing_closing_tag_error(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:195
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:1622
HERB_STATE_INVALID_PARAMETER_ERROR_T * herb_state_invalid_parameter_error_init(hb_string_T parameter, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1718
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1579
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:1086
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:203
UNCLOSED_COMMENT_ERROR_T * unclosed_comment_error_init(token_T *comment_start, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:577
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:1477
void append_unexpected_solidus_in_tag_error(token_T *solidus, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1078
HERB_STATE_NON_CANONICAL_DIRECTIVE_ERROR_T * herb_state_non_canonical_directive_error_init(hb_string_T found, hb_string_T expected, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1677
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:116
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1379
void append_missing_whitespace_between_attributes_error(token_T *found, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:940
UNEXPECTED_SOLIDUS_IN_TAG_ERROR_T * unexpected_solidus_in_tag_error_init(token_T *solidus, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1054
void append_erb_multiple_blocks_in_tag_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:461
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:379
void append_unclosed_close_tag_error(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:792
void append_render_ambiguous_locals_error(hb_string_T partial, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1272
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:903
void append_end_tag_with_trailing_solidus_error(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:829
void append_malformed_erb_closing_tag_error(token_T *opening_tag, token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1160
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:837
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1544
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:469
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:763
void append_stray_erb_closing_tag_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1191
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:1442
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:1199
void append_void_element_content_error(token_T *tag_name, hb_string_T helper_name, hb_string_T content_type, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1812
void append_dot_notation_casing_error(token_T *segment, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1847
void append_render_no_arguments_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1338
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:161
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1232
UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE_ERROR_T * unexpected_character_in_unquoted_attribute_value_error_init(token_T *character, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:985
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:371
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:1240
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:449
void append_unclosed_quote_error(token_T *opening_quote, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:866
void append_herb_state_non_canonical_directive_error(hb_string_T found, hb_string_T expected, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1710
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:1587
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:1280
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:73
void append_unexpected_character_in_unquoted_attribute_value_error(token_T *character, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1014
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:1168
void append_erb_case_with_conditions_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:481
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:3177
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:34
HERB_STATE_MISSING_PARENTHESIS_ERROR_T * herb_state_missing_parenthesis_error_init(hb_string_T rest, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1642
error_type_T
Definition errors.h:18
@ CONDITIONAL_ELEMENT_MULTIPLE_TAGS_ERROR
Definition errors.h:31
@ UNEXPECTED_SOLIDUS_IN_TAG_ERROR
Definition errors.h:46
@ NESTED_COMMENT_ERROR
Definition errors.h:34
@ RENDER_MISSING_LOCALS_ERROR
Definition errors.h:52
@ HERB_STATE_INVALID_PARAMETER_ERROR
Definition errors.h:65
@ RENDER_OBJECT_AND_COLLECTION_ERROR
Definition errors.h:56
@ RENDER_AMBIGUOUS_LOCALS_ERROR
Definition errors.h:51
@ UNEXPECTED_ERROR
Definition errors.h:19
@ STRICT_LOCALS_POSITIONAL_ARGUMENT_ERROR
Definition errors.h:58
@ UNCLOSED_OPEN_TAG_ERROR
Definition errors.h:37
@ RENDER_NO_ARGUMENTS_ERROR
Definition errors.h:53
@ UNCLOSED_COMMENT_ERROR
Definition errors.h:33
@ STRICT_LOCALS_DUPLICATE_DECLARATION_ERROR
Definition errors.h:62
@ DOT_NOTATION_CASING_ERROR
Definition errors.h:68
@ RENDER_CONFLICTING_PARTIAL_ERROR
Definition errors.h:54
@ ERB_CASE_WITH_CONDITIONS_ERROR
Definition errors.h:30
@ STRICT_LOCALS_SPLAT_ARGUMENT_ERROR
Definition errors.h:60
@ END_TAG_WITH_TRAILING_SOLIDUS_ERROR
Definition errors.h:39
@ UNEXPECTED_TOKEN_ERROR
Definition errors.h:20
@ STRICT_LOCALS_BLOCK_ARGUMENT_ERROR
Definition errors.h:59
@ VOID_ELEMENT_CLOSING_TAG_ERROR
Definition errors.h:24
@ MISSING_CLOSING_TAG_ERROR
Definition errors.h:22
@ TIMEOUT_ERROR
Definition errors.h:69
@ VOID_ELEMENT_CONTENT_ERROR
Definition errors.h:67
@ MISSING_ATTRIBUTE_VALUE_ERROR
Definition errors.h:41
@ HERB_STATE_DUPLICATE_DECLARATION_ERROR
Definition errors.h:66
@ OMITTED_CLOSING_TAG_ERROR
Definition errors.h:36
@ NESTED_ERB_TAG_ERROR
Definition errors.h:50
@ RUBY_PARSE_ERROR
Definition errors.h:26
@ INVALID_COMMENT_CLOSING_TAG_ERROR
Definition errors.h:35
@ STRAY_ERB_CLOSING_TAG_ERROR
Definition errors.h:49
@ UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME_ERROR
Definition errors.h:43
@ UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE_ERROR
Definition errors.h:44
@ TAG_NAMES_MISMATCH_ERROR
Definition errors.h:23
@ CONDITIONAL_ELEMENT_CONDITION_MISMATCH_ERROR
Definition errors.h:32
@ UNCLOSED_ELEMENT_ERROR
Definition errors.h:25
@ MISSING_ERB_END_TAG_ERROR
Definition errors.h:28
@ ERB_CONTROL_FLOW_SCOPE_ERROR
Definition errors.h:27
@ STRICT_LOCALS_MISSING_PARENTHESIS_ERROR
Definition errors.h:61
@ RENDER_INVALID_AS_OPTION_ERROR
Definition errors.h:55
@ UNCLOSED_QUOTE_ERROR
Definition errors.h:40
@ MALFORMED_ERB_CLOSING_TAG_ERROR
Definition errors.h:48
@ UNCLOSED_ERB_TAG_ERROR
Definition errors.h:47
@ HERB_STATE_NON_CANONICAL_DIRECTIVE_ERROR
Definition errors.h:64
@ MISSING_WHITESPACE_BETWEEN_ATTRIBUTES_ERROR
Definition errors.h:42
@ UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME_ERROR
Definition errors.h:45
@ UNCLOSED_CLOSE_TAG_ERROR
Definition errors.h:38
@ MISSING_OPENING_TAG_ERROR
Definition errors.h:21
@ ERB_MULTIPLE_BLOCKS_IN_TAG_ERROR
Definition errors.h:29
@ RENDER_LAYOUT_WITHOUT_BLOCK_ERROR
Definition errors.h:57
@ HERB_STATE_MISSING_PARENTHESIS_ERROR
Definition errors.h:63
void error_free(ERROR_T *error, hb_allocator_T *allocator)
Definition errors.c:2341
void append_unexpected_equals_sign_before_attribute_name_error(token_T *equals, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1046
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:726
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:248
void append_nested_comment_error(token_T *comment_start, token_T *nested_start, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:636
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:1552
void append_herb_state_missing_parenthesis_error(hb_string_T rest, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1669
END_TAG_WITH_TRAILING_SOLIDUS_ERROR_T * end_tag_with_trailing_solidus_error_init(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:800
void append_timeout_error(size_t timeout_ms, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1878
size_t error_sizeof(void)
Definition errors.c:22
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:292
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:522
void append_herb_state_duplicate_declaration_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1765
NESTED_COMMENT_ERROR_T * nested_comment_error_init(token_T *comment_start, token_T *nested_start, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:609
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:874
void append_unclosed_comment_error(token_T *comment_start, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:601
HERB_STATE_DUPLICATE_DECLARATION_ERROR_T * herb_state_duplicate_declaration_error_init(position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1753
hb_string_T error_human_type(ERROR_T *error)
Definition errors.c:1944
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:124
void error_init(ERROR_T *error, error_type_T type, position_T start, position_T end)
Definition errors.c:26
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:81
MALFORMED_ERB_CLOSING_TAG_ERROR_T * malformed_erb_closing_tag_error_init(token_T *opening_tag, token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1123
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:2401
void append_unclosed_element_error(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:329
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:1346
hb_string_T error_type_to_string(ERROR_T *error)
Definition errors.c:1886
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:406
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1614
void append_unclosed_erb_tag_error(token_T *opening_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1115
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:1517
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1318
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:718
void append_render_object_and_collection_error(position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1434
void append_missing_opening_tag_error(token_T *closing_tag, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:153
MISSING_WHITESPACE_BETWEEN_ATTRIBUTES_ERROR_T * missing_whitespace_between_attributes_error_init(token_T *found, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:911
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:1820
void append_unexpected_character_in_attribute_name_error(token_T *character, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:977
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:644
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:673
TIMEOUT_ERROR_T * timeout_error_init(size_t timeout_ms, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1855
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:1387
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:1422
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:489
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:337
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:514
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:441
void append_unclosed_open_tag_error(token_T *tag_name, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:755
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1469
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:681
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:569
UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME_ERROR_T * unexpected_character_in_attribute_name_error_init(token_T *character, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:948
VOID_ELEMENT_CONTENT_ERROR_T * void_element_content_error_init(token_T *tag_name, hb_string_T helper_name, hb_string_T content_type, position_T start, position_T end, hb_allocator_T *allocator)
Definition errors.c:1773
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:240
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:300
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, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1414
void append_herb_state_invalid_parameter_error(hb_string_T parameter, position_T start, position_T end, hb_allocator_T *allocator, hb_array_T **errors, const struct PARSER_OPTIONS_STRUCT *options)
Definition errors.c:1745
ERROR_T base
Definition errors.h:154
size_t open_column
Definition errors.h:158
hb_string_T close_condition
Definition errors.h:159
size_t open_line
Definition errors.h:157
size_t close_line
Definition errors.h:160
size_t close_column
Definition errors.h:161
hb_string_T open_condition
Definition errors.h:156
hb_string_T tag_name
Definition errors.h:155
size_t column
Definition errors.h:150
ERROR_T base
Definition errors.h:148
size_t line
Definition errors.h:149
Definition errors.h:349
token_T * segment
Definition errors.h:351
ERROR_T base
Definition errors.h:350
token_T * tag_name
Definition errors.h:198
ERROR_T base
Definition errors.h:197
Definition errors.h:142
ERROR_T base
Definition errors.h:143
Definition errors.h:127
hb_string_T keyword
Definition errors.h:129
ERROR_T base
Definition errors.h:128
Definition errors.h:137
ERROR_T base
Definition errors.h:138
Definition errors.h:72
error_type_T type
Definition errors.h:73
location_T location
Definition errors.h:74
hb_string_T message
Definition errors.h:75
ERROR_T base
Definition errors.h:338
ERROR_T base
Definition errors.h:333
hb_string_T parameter
Definition errors.h:334
hb_string_T rest
Definition errors.h:323
ERROR_T base
Definition errors.h:322
hb_string_T found
Definition errors.h:328
hb_string_T expected
Definition errors.h:329
ERROR_T base
Definition errors.h:327
token_T * closing_tag
Definition errors.h:177
ERROR_T base
Definition errors.h:176
Definition errors.h:241
ERROR_T base
Definition errors.h:242
token_T * opening_tag
Definition errors.h:243
token_T * closing_tag
Definition errors.h:244
Definition errors.h:206
hb_string_T attribute_name
Definition errors.h:208
ERROR_T base
Definition errors.h:207
Definition errors.h:97
ERROR_T base
Definition errors.h:98
token_T * opening_tag
Definition errors.h:99
Definition errors.h:132
hb_string_T keyword
Definition errors.h:134
ERROR_T base
Definition errors.h:133
Definition errors.h:92
token_T * closing_tag
Definition errors.h:94
ERROR_T base
Definition errors.h:93
token_T * found
Definition errors.h:213
ERROR_T base
Definition errors.h:212
Definition errors.h:169
ERROR_T base
Definition errors.h:170
token_T * nested_start
Definition errors.h:172
token_T * comment_start
Definition errors.h:171
Definition errors.h:252
size_t nested_tag_line
Definition errors.h:255
size_t nested_tag_column
Definition errors.h:256
ERROR_T base
Definition errors.h:253
token_T * opening_tag
Definition errors.h:254
Definition errors.h:180
ERROR_T base
Definition errors.h:181
position_T insertion_point
Definition errors.h:183
token_T * opening_tag
Definition errors.h:182
Definition errors.h:259
ERROR_T base
Definition errors.h:260
hb_string_T partial
Definition errors.h:261
Definition errors.h:275
hb_string_T keyword_partial
Definition errors.h:278
ERROR_T base
Definition errors.h:276
hb_string_T positional_partial
Definition errors.h:277
Definition errors.h:281
ERROR_T base
Definition errors.h:282
hb_string_T as_value
Definition errors.h:283
hb_string_T layout
Definition errors.h:293
ERROR_T base
Definition errors.h:292
Definition errors.h:264
hb_string_T partial
Definition errors.h:266
hb_string_T keywords
Definition errors.h:267
ERROR_T base
Definition errors.h:265
Definition errors.h:270
ERROR_T base
Definition errors.h:271
ERROR_T base
Definition errors.h:287
Definition errors.h:120
ERROR_T base
Definition errors.h:121
hb_string_T level
Definition errors.h:124
hb_string_T error_message
Definition errors.h:122
hb_string_T diagnostic_id
Definition errors.h:123
Definition errors.h:247
ERROR_T base
Definition errors.h:248
hb_string_T name
Definition errors.h:303
ERROR_T base
Definition errors.h:302
ERROR_T base
Definition errors.h:317
ERROR_T base
Definition errors.h:312
hb_string_T rest
Definition errors.h:313
hb_string_T name
Definition errors.h:298
ERROR_T base
Definition errors.h:297
hb_string_T name
Definition errors.h:308
ERROR_T base
Definition errors.h:307
Definition errors.h:102
token_T * opening_tag
Definition errors.h:104
token_T * closing_tag
Definition errors.h:105
ERROR_T base
Definition errors.h:103
Definition errors.h:354
ERROR_T base
Definition errors.h:355
size_t timeout_ms
Definition errors.h:356
Definition errors.h:191
token_T * tag_name
Definition errors.h:193
ERROR_T base
Definition errors.h:192
Definition errors.h:164
ERROR_T base
Definition errors.h:165
token_T * comment_start
Definition errors.h:166
Definition errors.h:115
ERROR_T base
Definition errors.h:116
token_T * opening_tag
Definition errors.h:117
Definition errors.h:236
token_T * opening_tag
Definition errors.h:238
ERROR_T base
Definition errors.h:237
Definition errors.h:186
ERROR_T base
Definition errors.h:187
token_T * tag_name
Definition errors.h:188
Definition errors.h:201
token_T * opening_quote
Definition errors.h:203
ERROR_T base
Definition errors.h:202
token_T * character
Definition errors.h:218
ERROR_T base
Definition errors.h:217
Definition errors.h:79
hb_string_T expected
Definition errors.h:82
ERROR_T base
Definition errors.h:80
hb_string_T found
Definition errors.h:83
hb_string_T description
Definition errors.h:81
Definition errors.h:231
token_T * solidus
Definition errors.h:233
ERROR_T base
Definition errors.h:232
Definition errors.h:86
token_T * found
Definition errors.h:89
ERROR_T base
Definition errors.h:87
token_type_T expected_type
Definition errors.h:88
Definition errors.h:108
ERROR_T base
Definition errors.h:109
token_T * tag_name
Definition errors.h:110
hb_string_T expected
Definition errors.h:111
hb_string_T found
Definition errors.h:112
Definition errors.h:342
hb_string_T content_type
Definition errors.h:346
token_T * tag_name
Definition errors.h:344
ERROR_T base
Definition errors.h:343
hb_string_T helper_name
Definition errors.h:345