Herb C Reference
Loading...
Searching...
No Matches
ast_nodes.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/ast_nodes.h.erb
3
4#ifndef HERB_AST_NODES_H
5#define HERB_AST_NODES_H
6
7#include <stdbool.h>
8#include <prism.h>
9
10#include "analyze/analyzed_ruby.h"
11#include "element_source.h"
12#include "location.h"
13#include "position.h"
14#include "token_struct.h"
15#include "util/hb_allocator.h"
16#include "util/hb_array.h"
17#include "util/hb_buffer.h"
18#include "util/hb_string.h"
19
56
57typedef struct AST_NODE_STRUCT {
60 // maybe a range too?
61 hb_array_T* errors;
63
64
69
74
83
90
98
103
113
125
133
138
145
150
157
164
171
178
183
193
200
208
219
228
237
248
259
268
277
286
295
303
315
326
333
342
343AST_DOCUMENT_NODE_T* ast_document_node_init(hb_array_T* children, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
344AST_LITERAL_NODE_T* ast_literal_node_init(const char* content, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
345AST_HTML_OPEN_TAG_NODE_T* ast_html_open_tag_node_init(token_T* tag_opening, token_T* tag_name, token_T* tag_closing, hb_array_T* children, bool is_void, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
346AST_HTML_CONDITIONAL_OPEN_TAG_NODE_T* ast_html_conditional_open_tag_node_init(AST_NODE_T* conditional, token_T* tag_name, bool is_void, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
347AST_HTML_CLOSE_TAG_NODE_T* ast_html_close_tag_node_init(token_T* tag_opening, token_T* tag_name, hb_array_T* children, token_T* tag_closing, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
348AST_HTML_OMITTED_CLOSE_TAG_NODE_T* ast_html_omitted_close_tag_node_init(token_T* tag_name, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
349AST_HTML_ELEMENT_NODE_T* ast_html_element_node_init(AST_NODE_T* open_tag, token_T* tag_name, hb_array_T* body, AST_NODE_T* close_tag, bool is_void, element_source_t source, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
350AST_HTML_CONDITIONAL_ELEMENT_NODE_T* ast_html_conditional_element_node_init(const char* condition, AST_NODE_T* open_conditional, struct AST_HTML_OPEN_TAG_NODE_STRUCT* open_tag, hb_array_T* body, AST_NODE_T* close_tag, AST_NODE_T* close_conditional, token_T* tag_name, element_source_t source, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
351AST_HTML_ATTRIBUTE_VALUE_NODE_T* ast_html_attribute_value_node_init(token_T* open_quote, hb_array_T* children, token_T* close_quote, bool quoted, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
352AST_HTML_ATTRIBUTE_NAME_NODE_T* ast_html_attribute_name_node_init(hb_array_T* children, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
353AST_HTML_ATTRIBUTE_NODE_T* ast_html_attribute_node_init(struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT* name, token_T* equals, struct AST_HTML_ATTRIBUTE_VALUE_NODE_STRUCT* value, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
354AST_HTML_TEXT_NODE_T* ast_html_text_node_init(const char* content, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
355AST_HTML_COMMENT_NODE_T* ast_html_comment_node_init(token_T* comment_start, hb_array_T* children, token_T* comment_end, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
356AST_HTML_DOCTYPE_NODE_T* ast_html_doctype_node_init(token_T* tag_opening, hb_array_T* children, token_T* tag_closing, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
357AST_XML_DECLARATION_NODE_T* ast_xml_declaration_node_init(token_T* tag_opening, hb_array_T* children, token_T* tag_closing, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
358AST_CDATA_NODE_T* ast_cdata_node_init(token_T* tag_opening, hb_array_T* children, token_T* tag_closing, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
359AST_WHITESPACE_NODE_T* ast_whitespace_node_init(token_T* value, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
360AST_ERB_CONTENT_NODE_T* ast_erb_content_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, analyzed_ruby_T* analyzed_ruby, bool parsed, bool valid, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
361AST_ERB_END_NODE_T* ast_erb_end_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
362AST_ERB_ELSE_NODE_T* ast_erb_else_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
363AST_ERB_IF_NODE_T* ast_erb_if_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, location_T* then_keyword, hb_array_T* statements, AST_NODE_T* subsequent, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
364AST_ERB_BLOCK_NODE_T* ast_erb_block_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* body, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
365AST_ERB_WHEN_NODE_T* ast_erb_when_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, location_T* then_keyword, hb_array_T* statements, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
366AST_ERB_CASE_NODE_T* ast_erb_case_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* children, hb_array_T* conditions, struct AST_ERB_ELSE_NODE_STRUCT* else_clause, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
367AST_ERB_CASE_MATCH_NODE_T* ast_erb_case_match_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* children, hb_array_T* conditions, struct AST_ERB_ELSE_NODE_STRUCT* else_clause, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
368AST_ERB_WHILE_NODE_T* ast_erb_while_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
369AST_ERB_UNTIL_NODE_T* ast_erb_until_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
370AST_ERB_FOR_NODE_T* ast_erb_for_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
371AST_ERB_RESCUE_NODE_T* ast_erb_rescue_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, struct AST_ERB_RESCUE_NODE_STRUCT* subsequent, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
372AST_ERB_ENSURE_NODE_T* ast_erb_ensure_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
373AST_ERB_BEGIN_NODE_T* ast_erb_begin_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* statements, struct AST_ERB_RESCUE_NODE_STRUCT* rescue_clause, struct AST_ERB_ELSE_NODE_STRUCT* else_clause, struct AST_ERB_ENSURE_NODE_STRUCT* ensure_clause, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
374AST_ERB_UNLESS_NODE_T* ast_erb_unless_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, location_T* then_keyword, hb_array_T* statements, struct AST_ERB_ELSE_NODE_STRUCT* else_clause, struct AST_ERB_END_NODE_STRUCT* end_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
375AST_ERB_YIELD_NODE_T* ast_erb_yield_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
376AST_ERB_IN_NODE_T* ast_erb_in_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, location_T* then_keyword, hb_array_T* statements, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
377
378hb_string_T ast_node_type_to_string(AST_NODE_T* node);
379hb_string_T ast_node_human_type(AST_NODE_T* node);
380
381#endif
struct AST_NODE_STRUCT AST_NODE_T
struct AST_HTML_DOCTYPE_NODE_STRUCT AST_HTML_DOCTYPE_NODE_T
AST_ERB_ENSURE_NODE_T * ast_erb_ensure_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:453
struct AST_CDATA_NODE_STRUCT AST_CDATA_NODE_T
struct AST_ERB_BEGIN_NODE_STRUCT AST_ERB_BEGIN_NODE_T
struct AST_ERB_ENSURE_NODE_STRUCT AST_ERB_ENSURE_NODE_T
struct AST_ERB_WHEN_NODE_STRUCT AST_ERB_WHEN_NODE_T
struct AST_DOCUMENT_NODE_STRUCT AST_DOCUMENT_NODE_T
AST_HTML_CLOSE_TAG_NODE_T * ast_html_close_tag_node_init(token_T *tag_opening, token_T *tag_name, hb_array_T *children, token_T *tag_closing, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:73
AST_HTML_DOCTYPE_NODE_T * ast_html_doctype_node_init(token_T *tag_opening, hb_array_T *children, token_T *tag_closing, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:203
AST_ERB_FOR_NODE_T * ast_erb_for_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:421
struct AST_HTML_TEXT_NODE_STRUCT AST_HTML_TEXT_NODE_T
AST_WHITESPACE_NODE_T * ast_whitespace_node_init(token_T *value, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:245
struct AST_HTML_CONDITIONAL_OPEN_TAG_NODE_STRUCT AST_HTML_CONDITIONAL_OPEN_TAG_NODE_T
AST_ERB_CASE_MATCH_NODE_T * ast_erb_case_match_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *children, hb_array_T *conditions, struct AST_ERB_ELSE_NODE_STRUCT *else_clause, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:371
struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT AST_HTML_ATTRIBUTE_NAME_NODE_T
struct AST_ERB_CASE_MATCH_NODE_STRUCT AST_ERB_CASE_MATCH_NODE_T
AST_ERB_ELSE_NODE_T * ast_erb_else_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:288
AST_HTML_ATTRIBUTE_NODE_T * ast_html_attribute_node_init(struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT *name, token_T *equals, struct AST_HTML_ATTRIBUTE_VALUE_NODE_STRUCT *value, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:163
struct AST_ERB_FOR_NODE_STRUCT AST_ERB_FOR_NODE_T
AST_CDATA_NODE_T * ast_cdata_node_init(token_T *tag_opening, hb_array_T *children, token_T *tag_closing, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:231
AST_XML_DECLARATION_NODE_T * ast_xml_declaration_node_init(token_T *tag_opening, hb_array_T *children, token_T *tag_closing, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:217
AST_HTML_ATTRIBUTE_NAME_NODE_T * ast_html_attribute_name_node_init(hb_array_T *children, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:151
AST_ERB_IN_NODE_T * ast_erb_in_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, location_T *then_keyword, hb_array_T *statements, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:519
AST_HTML_TEXT_NODE_T * ast_html_text_node_init(const char *content, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:177
AST_ERB_CASE_NODE_T * ast_erb_case_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *children, hb_array_T *conditions, struct AST_ERB_ELSE_NODE_STRUCT *else_clause, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:353
struct AST_WHITESPACE_NODE_STRUCT AST_WHITESPACE_NODE_T
struct AST_ERB_BLOCK_NODE_STRUCT AST_ERB_BLOCK_NODE_T
AST_LITERAL_NODE_T * ast_literal_node_init(const char *content, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:31
struct AST_ERB_IF_NODE_STRUCT AST_ERB_IF_NODE_T
struct AST_ERB_WHILE_NODE_STRUCT AST_ERB_WHILE_NODE_T
struct AST_ERB_END_NODE_STRUCT AST_ERB_END_NODE_T
struct AST_HTML_CONDITIONAL_ELEMENT_NODE_STRUCT AST_HTML_CONDITIONAL_ELEMENT_NODE_T
struct AST_ERB_YIELD_NODE_STRUCT AST_ERB_YIELD_NODE_T
struct AST_ERB_UNTIL_NODE_STRUCT AST_ERB_UNTIL_NODE_T
struct AST_ERB_UNLESS_NODE_STRUCT AST_ERB_UNLESS_NODE_T
ast_node_type_T
Definition ast_nodes.h:20
@ AST_ERB_UNTIL_NODE
Definition ast_nodes.h:47
@ AST_ERB_IN_NODE
Definition ast_nodes.h:54
@ AST_ERB_END_NODE
Definition ast_nodes.h:39
@ AST_ERB_BLOCK_NODE
Definition ast_nodes.h:42
@ AST_HTML_COMMENT_NODE
Definition ast_nodes.h:33
@ AST_HTML_ATTRIBUTE_VALUE_NODE
Definition ast_nodes.h:29
@ AST_CDATA_NODE
Definition ast_nodes.h:36
@ AST_HTML_ELEMENT_NODE
Definition ast_nodes.h:27
@ AST_ERB_WHEN_NODE
Definition ast_nodes.h:43
@ AST_ERB_BEGIN_NODE
Definition ast_nodes.h:51
@ AST_ERB_WHILE_NODE
Definition ast_nodes.h:46
@ AST_DOCUMENT_NODE
Definition ast_nodes.h:21
@ AST_ERB_IF_NODE
Definition ast_nodes.h:41
@ AST_ERB_FOR_NODE
Definition ast_nodes.h:48
@ AST_HTML_OPEN_TAG_NODE
Definition ast_nodes.h:23
@ AST_HTML_OMITTED_CLOSE_TAG_NODE
Definition ast_nodes.h:26
@ AST_HTML_DOCTYPE_NODE
Definition ast_nodes.h:34
@ AST_HTML_ATTRIBUTE_NODE
Definition ast_nodes.h:31
@ AST_HTML_TEXT_NODE
Definition ast_nodes.h:32
@ AST_ERB_UNLESS_NODE
Definition ast_nodes.h:52
@ AST_ERB_ENSURE_NODE
Definition ast_nodes.h:50
@ AST_LITERAL_NODE
Definition ast_nodes.h:22
@ AST_WHITESPACE_NODE
Definition ast_nodes.h:37
@ AST_ERB_CASE_NODE
Definition ast_nodes.h:44
@ AST_ERB_CONTENT_NODE
Definition ast_nodes.h:38
@ AST_ERB_ELSE_NODE
Definition ast_nodes.h:40
@ AST_HTML_CONDITIONAL_ELEMENT_NODE
Definition ast_nodes.h:28
@ AST_ERB_CASE_MATCH_NODE
Definition ast_nodes.h:45
@ AST_ERB_RESCUE_NODE
Definition ast_nodes.h:49
@ AST_ERB_YIELD_NODE
Definition ast_nodes.h:53
@ AST_HTML_CONDITIONAL_OPEN_TAG_NODE
Definition ast_nodes.h:24
@ AST_XML_DECLARATION_NODE
Definition ast_nodes.h:35
@ AST_HTML_ATTRIBUTE_NAME_NODE
Definition ast_nodes.h:30
@ AST_HTML_CLOSE_TAG_NODE
Definition ast_nodes.h:25
AST_ERB_WHEN_NODE_T * ast_erb_when_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, location_T *then_keyword, hb_array_T *statements, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:337
AST_HTML_COMMENT_NODE_T * ast_html_comment_node_init(token_T *comment_start, hb_array_T *children, token_T *comment_end, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:189
struct AST_ERB_CASE_NODE_STRUCT AST_ERB_CASE_NODE_T
AST_DOCUMENT_NODE_T * ast_document_node_init(hb_array_T *children, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:19
AST_ERB_BEGIN_NODE_T * ast_erb_begin_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, struct AST_ERB_RESCUE_NODE_STRUCT *rescue_clause, struct AST_ERB_ELSE_NODE_STRUCT *else_clause, struct AST_ERB_ENSURE_NODE_STRUCT *ensure_clause, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:468
struct AST_XML_DECLARATION_NODE_STRUCT AST_XML_DECLARATION_NODE_T
AST_ERB_RESCUE_NODE_T * ast_erb_rescue_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, struct AST_ERB_RESCUE_NODE_STRUCT *subsequent, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:437
AST_ERB_IF_NODE_T * ast_erb_if_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, location_T *then_keyword, hb_array_T *statements, AST_NODE_T *subsequent, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:303
AST_ERB_END_NODE_T * ast_erb_end_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:274
AST_HTML_CONDITIONAL_ELEMENT_NODE_T * ast_html_conditional_element_node_init(const char *condition, AST_NODE_T *open_conditional, struct AST_HTML_OPEN_TAG_NODE_STRUCT *open_tag, hb_array_T *body, AST_NODE_T *close_tag, AST_NODE_T *close_conditional, token_T *tag_name, element_source_t source, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:117
AST_ERB_YIELD_NODE_T * ast_erb_yield_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:505
AST_HTML_OPEN_TAG_NODE_T * ast_html_open_tag_node_init(token_T *tag_opening, token_T *tag_name, token_T *tag_closing, hb_array_T *children, bool is_void, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:43
struct AST_HTML_OPEN_TAG_NODE_STRUCT AST_HTML_OPEN_TAG_NODE_T
struct AST_HTML_CLOSE_TAG_NODE_STRUCT AST_HTML_CLOSE_TAG_NODE_T
hb_string_T ast_node_human_type(AST_NODE_T *node)
Definition ast_nodes.c:576
struct AST_ERB_CONTENT_NODE_STRUCT AST_ERB_CONTENT_NODE_T
AST_HTML_ATTRIBUTE_VALUE_NODE_T * ast_html_attribute_value_node_init(token_T *open_quote, hb_array_T *children, token_T *close_quote, bool quoted, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:136
AST_ERB_CONTENT_NODE_T * ast_erb_content_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, analyzed_ruby_T *analyzed_ruby, bool parsed, bool valid, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:257
AST_HTML_ELEMENT_NODE_T * ast_html_element_node_init(AST_NODE_T *open_tag, token_T *tag_name, hb_array_T *body, AST_NODE_T *close_tag, bool is_void, element_source_t source, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:100
hb_string_T ast_node_type_to_string(AST_NODE_T *node)
Definition ast_nodes.c:535
AST_ERB_UNTIL_NODE_T * ast_erb_until_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:405
AST_ERB_BLOCK_NODE_T * ast_erb_block_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *body, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:321
struct AST_HTML_ATTRIBUTE_NODE_STRUCT AST_HTML_ATTRIBUTE_NODE_T
struct AST_HTML_OMITTED_CLOSE_TAG_NODE_STRUCT AST_HTML_OMITTED_CLOSE_TAG_NODE_T
AST_HTML_OMITTED_CLOSE_TAG_NODE_T * ast_html_omitted_close_tag_node_init(token_T *tag_name, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:88
AST_HTML_CONDITIONAL_OPEN_TAG_NODE_T * ast_html_conditional_open_tag_node_init(AST_NODE_T *conditional, token_T *tag_name, bool is_void, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:59
AST_ERB_UNLESS_NODE_T * ast_erb_unless_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, location_T *then_keyword, hb_array_T *statements, struct AST_ERB_ELSE_NODE_STRUCT *else_clause, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:487
struct AST_LITERAL_NODE_STRUCT AST_LITERAL_NODE_T
AST_ERB_WHILE_NODE_T * ast_erb_while_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, hb_array_T *statements, struct AST_ERB_END_NODE_STRUCT *end_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:389
struct AST_ERB_RESCUE_NODE_STRUCT AST_ERB_RESCUE_NODE_T
struct AST_HTML_COMMENT_NODE_STRUCT AST_HTML_COMMENT_NODE_T
struct AST_ERB_IN_NODE_STRUCT AST_ERB_IN_NODE_T
struct AST_HTML_ATTRIBUTE_VALUE_NODE_STRUCT AST_HTML_ATTRIBUTE_VALUE_NODE_T
struct AST_ERB_ELSE_NODE_STRUCT AST_ERB_ELSE_NODE_T
struct AST_HTML_ELEMENT_NODE_STRUCT AST_HTML_ELEMENT_NODE_T
element_source_t
Definition element_source.h:6
Definition ast_nodes.h:172
token_T * tag_opening
Definition ast_nodes.h:174
AST_NODE_T base
Definition ast_nodes.h:173
token_T * tag_closing
Definition ast_nodes.h:176
hb_array_T * children
Definition ast_nodes.h:175
Definition ast_nodes.h:65
hb_array_T * children
Definition ast_nodes.h:67
AST_NODE_T base
Definition ast_nodes.h:66
Definition ast_nodes.h:304
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:311
hb_array_T * statements
Definition ast_nodes.h:309
token_T * tag_closing
Definition ast_nodes.h:308
token_T * content
Definition ast_nodes.h:307
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:313
AST_NODE_T base
Definition ast_nodes.h:305
token_T * tag_opening
Definition ast_nodes.h:306
struct AST_ERB_RESCUE_NODE_STRUCT * rescue_clause
Definition ast_nodes.h:310
struct AST_ERB_ENSURE_NODE_STRUCT * ensure_clause
Definition ast_nodes.h:312
Definition ast_nodes.h:220
AST_NODE_T base
Definition ast_nodes.h:221
token_T * tag_opening
Definition ast_nodes.h:222
token_T * tag_closing
Definition ast_nodes.h:224
token_T * content
Definition ast_nodes.h:223
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:226
hb_array_T * body
Definition ast_nodes.h:225
Definition ast_nodes.h:249
hb_array_T * children
Definition ast_nodes.h:254
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:256
token_T * tag_opening
Definition ast_nodes.h:251
AST_NODE_T base
Definition ast_nodes.h:250
hb_array_T * conditions
Definition ast_nodes.h:255
token_T * tag_closing
Definition ast_nodes.h:253
token_T * content
Definition ast_nodes.h:252
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:257
Definition ast_nodes.h:238
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:246
token_T * content
Definition ast_nodes.h:241
hb_array_T * children
Definition ast_nodes.h:243
hb_array_T * conditions
Definition ast_nodes.h:244
AST_NODE_T base
Definition ast_nodes.h:239
token_T * tag_closing
Definition ast_nodes.h:242
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:245
token_T * tag_opening
Definition ast_nodes.h:240
Definition ast_nodes.h:184
analyzed_ruby_T * analyzed_ruby
Definition ast_nodes.h:189
AST_NODE_T base
Definition ast_nodes.h:185
bool valid
Definition ast_nodes.h:191
bool parsed
Definition ast_nodes.h:190
token_T * tag_closing
Definition ast_nodes.h:188
token_T * tag_opening
Definition ast_nodes.h:186
token_T * content
Definition ast_nodes.h:187
Definition ast_nodes.h:201
token_T * tag_opening
Definition ast_nodes.h:203
token_T * tag_closing
Definition ast_nodes.h:205
AST_NODE_T base
Definition ast_nodes.h:202
hb_array_T * statements
Definition ast_nodes.h:206
token_T * content
Definition ast_nodes.h:204
Definition ast_nodes.h:194
token_T * tag_closing
Definition ast_nodes.h:198
token_T * tag_opening
Definition ast_nodes.h:196
AST_NODE_T base
Definition ast_nodes.h:195
token_T * content
Definition ast_nodes.h:197
Definition ast_nodes.h:296
hb_array_T * statements
Definition ast_nodes.h:301
token_T * tag_closing
Definition ast_nodes.h:300
AST_NODE_T base
Definition ast_nodes.h:297
token_T * tag_opening
Definition ast_nodes.h:298
token_T * content
Definition ast_nodes.h:299
Definition ast_nodes.h:278
hb_array_T * statements
Definition ast_nodes.h:283
token_T * tag_opening
Definition ast_nodes.h:280
token_T * tag_closing
Definition ast_nodes.h:282
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:284
token_T * content
Definition ast_nodes.h:281
AST_NODE_T base
Definition ast_nodes.h:279
Definition ast_nodes.h:209
AST_NODE_T base
Definition ast_nodes.h:210
AST_NODE_T * subsequent
Definition ast_nodes.h:216
location_T * then_keyword
Definition ast_nodes.h:214
token_T * tag_opening
Definition ast_nodes.h:211
hb_array_T * statements
Definition ast_nodes.h:215
token_T * content
Definition ast_nodes.h:212
token_T * tag_closing
Definition ast_nodes.h:213
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:217
Definition ast_nodes.h:334
location_T * then_keyword
Definition ast_nodes.h:339
token_T * tag_opening
Definition ast_nodes.h:336
hb_array_T * statements
Definition ast_nodes.h:340
token_T * tag_closing
Definition ast_nodes.h:338
AST_NODE_T base
Definition ast_nodes.h:335
token_T * content
Definition ast_nodes.h:337
Definition ast_nodes.h:287
token_T * tag_closing
Definition ast_nodes.h:291
AST_NODE_T base
Definition ast_nodes.h:288
hb_array_T * statements
Definition ast_nodes.h:292
token_T * tag_opening
Definition ast_nodes.h:289
token_T * content
Definition ast_nodes.h:290
struct AST_ERB_RESCUE_NODE_STRUCT * subsequent
Definition ast_nodes.h:293
Definition ast_nodes.h:316
token_T * content
Definition ast_nodes.h:319
AST_NODE_T base
Definition ast_nodes.h:317
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:324
location_T * then_keyword
Definition ast_nodes.h:321
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:323
token_T * tag_closing
Definition ast_nodes.h:320
hb_array_T * statements
Definition ast_nodes.h:322
token_T * tag_opening
Definition ast_nodes.h:318
Definition ast_nodes.h:269
AST_NODE_T base
Definition ast_nodes.h:270
token_T * content
Definition ast_nodes.h:272
token_T * tag_closing
Definition ast_nodes.h:273
hb_array_T * statements
Definition ast_nodes.h:274
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:275
token_T * tag_opening
Definition ast_nodes.h:271
Definition ast_nodes.h:229
token_T * content
Definition ast_nodes.h:232
token_T * tag_closing
Definition ast_nodes.h:233
location_T * then_keyword
Definition ast_nodes.h:234
token_T * tag_opening
Definition ast_nodes.h:231
hb_array_T * statements
Definition ast_nodes.h:235
AST_NODE_T base
Definition ast_nodes.h:230
Definition ast_nodes.h:260
token_T * content
Definition ast_nodes.h:263
token_T * tag_opening
Definition ast_nodes.h:262
hb_array_T * statements
Definition ast_nodes.h:265
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:266
AST_NODE_T base
Definition ast_nodes.h:261
token_T * tag_closing
Definition ast_nodes.h:264
Definition ast_nodes.h:327
token_T * tag_closing
Definition ast_nodes.h:331
token_T * content
Definition ast_nodes.h:330
token_T * tag_opening
Definition ast_nodes.h:329
AST_NODE_T base
Definition ast_nodes.h:328
Definition ast_nodes.h:134
AST_NODE_T base
Definition ast_nodes.h:135
hb_array_T * children
Definition ast_nodes.h:136
Definition ast_nodes.h:139
struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT * name
Definition ast_nodes.h:141
struct AST_HTML_ATTRIBUTE_VALUE_NODE_STRUCT * value
Definition ast_nodes.h:143
AST_NODE_T base
Definition ast_nodes.h:140
token_T * equals
Definition ast_nodes.h:142
Definition ast_nodes.h:126
hb_array_T * children
Definition ast_nodes.h:129
token_T * close_quote
Definition ast_nodes.h:130
bool quoted
Definition ast_nodes.h:131
AST_NODE_T base
Definition ast_nodes.h:127
token_T * open_quote
Definition ast_nodes.h:128
Definition ast_nodes.h:91
token_T * tag_name
Definition ast_nodes.h:94
AST_NODE_T base
Definition ast_nodes.h:92
token_T * tag_opening
Definition ast_nodes.h:93
token_T * tag_closing
Definition ast_nodes.h:96
hb_array_T * children
Definition ast_nodes.h:95
Definition ast_nodes.h:151
token_T * comment_start
Definition ast_nodes.h:153
AST_NODE_T base
Definition ast_nodes.h:152
token_T * comment_end
Definition ast_nodes.h:155
hb_array_T * children
Definition ast_nodes.h:154
hb_array_T * body
Definition ast_nodes.h:119
element_source_t source
Definition ast_nodes.h:123
AST_NODE_T * close_tag
Definition ast_nodes.h:120
AST_NODE_T * open_conditional
Definition ast_nodes.h:117
AST_NODE_T base
Definition ast_nodes.h:115
AST_NODE_T * close_conditional
Definition ast_nodes.h:121
struct AST_HTML_OPEN_TAG_NODE_STRUCT * open_tag
Definition ast_nodes.h:118
const char * condition
Definition ast_nodes.h:116
token_T * tag_name
Definition ast_nodes.h:122
AST_NODE_T * conditional
Definition ast_nodes.h:86
token_T * tag_name
Definition ast_nodes.h:87
AST_NODE_T base
Definition ast_nodes.h:85
bool is_void
Definition ast_nodes.h:88
Definition ast_nodes.h:158
hb_array_T * children
Definition ast_nodes.h:161
token_T * tag_opening
Definition ast_nodes.h:160
AST_NODE_T base
Definition ast_nodes.h:159
token_T * tag_closing
Definition ast_nodes.h:162
Definition ast_nodes.h:104
AST_NODE_T base
Definition ast_nodes.h:105
element_source_t source
Definition ast_nodes.h:111
hb_array_T * body
Definition ast_nodes.h:108
bool is_void
Definition ast_nodes.h:110
token_T * tag_name
Definition ast_nodes.h:107
AST_NODE_T * close_tag
Definition ast_nodes.h:109
AST_NODE_T * open_tag
Definition ast_nodes.h:106
AST_NODE_T base
Definition ast_nodes.h:100
token_T * tag_name
Definition ast_nodes.h:101
Definition ast_nodes.h:75
hb_array_T * children
Definition ast_nodes.h:80
token_T * tag_name
Definition ast_nodes.h:78
bool is_void
Definition ast_nodes.h:81
token_T * tag_closing
Definition ast_nodes.h:79
AST_NODE_T base
Definition ast_nodes.h:76
token_T * tag_opening
Definition ast_nodes.h:77
Definition ast_nodes.h:146
const char * content
Definition ast_nodes.h:148
AST_NODE_T base
Definition ast_nodes.h:147
Definition ast_nodes.h:70
const char * content
Definition ast_nodes.h:72
AST_NODE_T base
Definition ast_nodes.h:71
Definition ast_nodes.h:57
hb_array_T * errors
Definition ast_nodes.h:61
ast_node_type_T type
Definition ast_nodes.h:58
location_T location
Definition ast_nodes.h:59
Definition ast_nodes.h:179
AST_NODE_T base
Definition ast_nodes.h:180
token_T * value
Definition ast_nodes.h:181
Definition ast_nodes.h:165
hb_array_T * children
Definition ast_nodes.h:168
token_T * tag_opening
Definition ast_nodes.h:167
token_T * tag_closing
Definition ast_nodes.h:169
AST_NODE_T base
Definition ast_nodes.h:166
Definition location.h:10
Definition position.h:8
Definition token_struct.h:57