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 "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_arena.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
71
76
85
92
100
105
115
127
135
140
147
152
159
166
173
180
185
195
202
210
221
230
239
250
261
270
279
288
297
305
317
328
335
344
345AST_DOCUMENT_NODE_T* ast_document_node_init(hb_array_T* children, position_T start_position, position_T end_position, hb_array_T* errors, hb_arena_T* arena);
346AST_LITERAL_NODE_T* ast_literal_node_init(const char* content, position_T start_position, position_T end_position, hb_array_T* errors, hb_arena_T* arena);
347AST_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_arena_T* arena);
348AST_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_arena_T* arena);
349AST_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_arena_T* arena);
350AST_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_arena_T* arena);
351AST_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_arena_T* arena);
352AST_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_arena_T* arena);
353AST_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_arena_T* arena);
354AST_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_arena_T* arena);
355AST_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_arena_T* arena);
356AST_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_arena_T* arena);
357AST_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_arena_T* arena);
358AST_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_arena_T* arena);
359AST_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_arena_T* arena);
360AST_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_arena_T* arena);
361AST_WHITESPACE_NODE_T* ast_whitespace_node_init(token_T* value, position_T start_position, position_T end_position, hb_array_T* errors, hb_arena_T* arena);
362AST_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_arena_T* arena);
363AST_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_arena_T* arena);
364AST_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_arena_T* arena);
365AST_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_arena_T* arena);
366AST_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_arena_T* arena);
367AST_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_arena_T* arena);
368AST_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_arena_T* arena);
369AST_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_arena_T* arena);
370AST_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_arena_T* arena);
371AST_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_arena_T* arena);
372AST_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_arena_T* arena);
373AST_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_arena_T* arena);
374AST_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_arena_T* arena);
375AST_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_arena_T* arena);
376AST_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_arena_T* arena);
377AST_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_arena_T* arena);
378AST_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_arena_T* arena);
379
380hb_string_T ast_node_type_to_string(AST_NODE_T* node);
381hb_string_T ast_node_human_type(AST_NODE_T* node);
382
383#endif
struct AST_NODE_STRUCT AST_NODE_T
struct AST_HTML_DOCTYPE_NODE_STRUCT AST_HTML_DOCTYPE_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:507
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_arena_T *arena)
Definition ast_nodes.c:445
struct AST_CDATA_NODE_STRUCT AST_CDATA_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:477
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_arena_T *arena)
Definition ast_nodes.c:103
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_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_arena_T *arena)
Definition ast_nodes.c:494
struct AST_HTML_TEXT_NODE_STRUCT AST_HTML_TEXT_NODE_T
struct AST_HTML_CONDITIONAL_OPEN_TAG_NODE_STRUCT AST_HTML_CONDITIONAL_OPEN_TAG_NODE_T
struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT AST_HTML_ATTRIBUTE_NAME_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:277
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_arena_T *arena)
Definition ast_nodes.c:20
struct AST_ERB_CASE_MATCH_NODE_STRUCT AST_ERB_CASE_MATCH_NODE_T
struct AST_ERB_FOR_NODE_STRUCT AST_ERB_FOR_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:261
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_arena_T *arena)
Definition ast_nodes.c:143
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_arena_T *arena)
Definition ast_nodes.c:400
AST_LITERAL_NODE_T * ast_literal_node_init(const char *content, position_T start_position, position_T end_position, hb_array_T *errors, hb_arena_T *arena)
Definition ast_nodes.c:33
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_arena_T *arena)
Definition ast_nodes.c:92
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_arena_T *arena)
Definition ast_nodes.c:290
struct AST_WHITESPACE_NODE_STRUCT AST_WHITESPACE_NODE_T
struct AST_ERB_BLOCK_NODE_STRUCT AST_ERB_BLOCK_NODE_T
struct AST_ERB_IF_NODE_STRUCT AST_ERB_IF_NODE_T
struct AST_ERB_WHILE_NODE_STRUCT AST_ERB_WHILE_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:459
struct AST_ERB_END_NODE_STRUCT AST_ERB_END_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_arena_T *arena)
Definition ast_nodes.c:368
struct AST_HTML_CONDITIONAL_ELEMENT_NODE_STRUCT AST_HTML_CONDITIONAL_ELEMENT_NODE_T
struct AST_ERB_YIELD_NODE_STRUCT AST_ERB_YIELD_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:304
struct AST_ERB_UNTIL_NODE_STRUCT AST_ERB_UNTIL_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:211
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_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_arena_T *arena)
Definition ast_nodes.c:168
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_arena_T *arena)
Definition ast_nodes.c:321
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_arena_T *arena)
Definition ast_nodes.c:198
struct AST_ERB_CASE_NODE_STRUCT AST_ERB_CASE_NODE_T
struct AST_XML_DECLARATION_NODE_STRUCT AST_XML_DECLARATION_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:351
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_arena_T *arena)
Definition ast_nodes.c:50
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_arena_T *arena)
Definition ast_nodes.c:119
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_arena_T *arena)
Definition ast_nodes.c:65
struct AST_HTML_OPEN_TAG_NODE_STRUCT AST_HTML_OPEN_TAG_NODE_T
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_arena_T *arena)
Definition ast_nodes.c:181
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_arena_T *arena)
Definition ast_nodes.c:157
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_arena_T *arena)
Definition ast_nodes.c:237
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:563
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_arena_T *arena)
Definition ast_nodes.c:224
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_arena_T *arena)
Definition ast_nodes.c:78
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_arena_T *arena)
Definition ast_nodes.c:336
struct AST_ERB_CONTENT_NODE_STRUCT AST_ERB_CONTENT_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_arena_T *arena)
Definition ast_nodes.c:250
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_arena_T *arena)
Definition ast_nodes.c:430
hb_string_T ast_node_type_to_string(AST_NODE_T *node)
Definition ast_nodes.c:522
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_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_arena_T *arena)
Definition ast_nodes.c:385
struct AST_LITERAL_NODE_STRUCT AST_LITERAL_NODE_T
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
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_arena_T *arena)
Definition ast_nodes.c:415
element_source_t
Definition element_source.h:6
Definition analyzed_ruby.h:9
Definition ast_nodes.h:174
token_T * tag_opening
Definition ast_nodes.h:176
AST_NODE_T base
Definition ast_nodes.h:175
token_T * tag_closing
Definition ast_nodes.h:178
hb_array_T * children
Definition ast_nodes.h:177
Definition ast_nodes.h:65
hb_arena_T * arena
Definition ast_nodes.h:68
hb_array_T * children
Definition ast_nodes.h:67
bool owns_arena
Definition ast_nodes.h:69
AST_NODE_T base
Definition ast_nodes.h:66
Definition ast_nodes.h:306
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:313
hb_array_T * statements
Definition ast_nodes.h:311
token_T * tag_closing
Definition ast_nodes.h:310
token_T * content
Definition ast_nodes.h:309
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:315
AST_NODE_T base
Definition ast_nodes.h:307
token_T * tag_opening
Definition ast_nodes.h:308
struct AST_ERB_RESCUE_NODE_STRUCT * rescue_clause
Definition ast_nodes.h:312
struct AST_ERB_ENSURE_NODE_STRUCT * ensure_clause
Definition ast_nodes.h:314
Definition ast_nodes.h:222
AST_NODE_T base
Definition ast_nodes.h:223
token_T * tag_opening
Definition ast_nodes.h:224
token_T * tag_closing
Definition ast_nodes.h:226
token_T * content
Definition ast_nodes.h:225
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:228
hb_array_T * body
Definition ast_nodes.h:227
Definition ast_nodes.h:251
hb_array_T * children
Definition ast_nodes.h:256
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:258
token_T * tag_opening
Definition ast_nodes.h:253
AST_NODE_T base
Definition ast_nodes.h:252
hb_array_T * conditions
Definition ast_nodes.h:257
token_T * tag_closing
Definition ast_nodes.h:255
token_T * content
Definition ast_nodes.h:254
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:259
Definition ast_nodes.h:240
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:248
token_T * content
Definition ast_nodes.h:243
hb_array_T * children
Definition ast_nodes.h:245
hb_array_T * conditions
Definition ast_nodes.h:246
AST_NODE_T base
Definition ast_nodes.h:241
token_T * tag_closing
Definition ast_nodes.h:244
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:247
token_T * tag_opening
Definition ast_nodes.h:242
Definition ast_nodes.h:186
analyzed_ruby_T * analyzed_ruby
Definition ast_nodes.h:191
AST_NODE_T base
Definition ast_nodes.h:187
bool valid
Definition ast_nodes.h:193
bool parsed
Definition ast_nodes.h:192
token_T * tag_closing
Definition ast_nodes.h:190
token_T * tag_opening
Definition ast_nodes.h:188
token_T * content
Definition ast_nodes.h:189
Definition ast_nodes.h:203
token_T * tag_opening
Definition ast_nodes.h:205
token_T * tag_closing
Definition ast_nodes.h:207
AST_NODE_T base
Definition ast_nodes.h:204
hb_array_T * statements
Definition ast_nodes.h:208
token_T * content
Definition ast_nodes.h:206
Definition ast_nodes.h:196
token_T * tag_closing
Definition ast_nodes.h:200
token_T * tag_opening
Definition ast_nodes.h:198
AST_NODE_T base
Definition ast_nodes.h:197
token_T * content
Definition ast_nodes.h:199
Definition ast_nodes.h:298
hb_array_T * statements
Definition ast_nodes.h:303
token_T * tag_closing
Definition ast_nodes.h:302
AST_NODE_T base
Definition ast_nodes.h:299
token_T * tag_opening
Definition ast_nodes.h:300
token_T * content
Definition ast_nodes.h:301
Definition ast_nodes.h:280
hb_array_T * statements
Definition ast_nodes.h:285
token_T * tag_opening
Definition ast_nodes.h:282
token_T * tag_closing
Definition ast_nodes.h:284
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:286
token_T * content
Definition ast_nodes.h:283
AST_NODE_T base
Definition ast_nodes.h:281
Definition ast_nodes.h:211
AST_NODE_T base
Definition ast_nodes.h:212
AST_NODE_T * subsequent
Definition ast_nodes.h:218
location_T * then_keyword
Definition ast_nodes.h:216
token_T * tag_opening
Definition ast_nodes.h:213
hb_array_T * statements
Definition ast_nodes.h:217
token_T * content
Definition ast_nodes.h:214
token_T * tag_closing
Definition ast_nodes.h:215
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:219
Definition ast_nodes.h:336
location_T * then_keyword
Definition ast_nodes.h:341
token_T * tag_opening
Definition ast_nodes.h:338
hb_array_T * statements
Definition ast_nodes.h:342
token_T * tag_closing
Definition ast_nodes.h:340
AST_NODE_T base
Definition ast_nodes.h:337
token_T * content
Definition ast_nodes.h:339
Definition ast_nodes.h:289
token_T * tag_closing
Definition ast_nodes.h:293
AST_NODE_T base
Definition ast_nodes.h:290
hb_array_T * statements
Definition ast_nodes.h:294
token_T * tag_opening
Definition ast_nodes.h:291
token_T * content
Definition ast_nodes.h:292
struct AST_ERB_RESCUE_NODE_STRUCT * subsequent
Definition ast_nodes.h:295
Definition ast_nodes.h:318
token_T * content
Definition ast_nodes.h:321
AST_NODE_T base
Definition ast_nodes.h:319
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:326
location_T * then_keyword
Definition ast_nodes.h:323
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:325
token_T * tag_closing
Definition ast_nodes.h:322
hb_array_T * statements
Definition ast_nodes.h:324
token_T * tag_opening
Definition ast_nodes.h:320
Definition ast_nodes.h:271
AST_NODE_T base
Definition ast_nodes.h:272
token_T * content
Definition ast_nodes.h:274
token_T * tag_closing
Definition ast_nodes.h:275
hb_array_T * statements
Definition ast_nodes.h:276
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:277
token_T * tag_opening
Definition ast_nodes.h:273
Definition ast_nodes.h:231
token_T * content
Definition ast_nodes.h:234
token_T * tag_closing
Definition ast_nodes.h:235
location_T * then_keyword
Definition ast_nodes.h:236
token_T * tag_opening
Definition ast_nodes.h:233
hb_array_T * statements
Definition ast_nodes.h:237
AST_NODE_T base
Definition ast_nodes.h:232
Definition ast_nodes.h:262
token_T * content
Definition ast_nodes.h:265
token_T * tag_opening
Definition ast_nodes.h:264
hb_array_T * statements
Definition ast_nodes.h:267
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:268
AST_NODE_T base
Definition ast_nodes.h:263
token_T * tag_closing
Definition ast_nodes.h:266
Definition ast_nodes.h:329
token_T * tag_closing
Definition ast_nodes.h:333
token_T * content
Definition ast_nodes.h:332
token_T * tag_opening
Definition ast_nodes.h:331
AST_NODE_T base
Definition ast_nodes.h:330
Definition ast_nodes.h:136
AST_NODE_T base
Definition ast_nodes.h:137
hb_array_T * children
Definition ast_nodes.h:138
Definition ast_nodes.h:141
struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT * name
Definition ast_nodes.h:143
struct AST_HTML_ATTRIBUTE_VALUE_NODE_STRUCT * value
Definition ast_nodes.h:145
AST_NODE_T base
Definition ast_nodes.h:142
token_T * equals
Definition ast_nodes.h:144
Definition ast_nodes.h:128
hb_array_T * children
Definition ast_nodes.h:131
token_T * close_quote
Definition ast_nodes.h:132
bool quoted
Definition ast_nodes.h:133
AST_NODE_T base
Definition ast_nodes.h:129
token_T * open_quote
Definition ast_nodes.h:130
Definition ast_nodes.h:93
token_T * tag_name
Definition ast_nodes.h:96
AST_NODE_T base
Definition ast_nodes.h:94
token_T * tag_opening
Definition ast_nodes.h:95
token_T * tag_closing
Definition ast_nodes.h:98
hb_array_T * children
Definition ast_nodes.h:97
Definition ast_nodes.h:153
token_T * comment_start
Definition ast_nodes.h:155
AST_NODE_T base
Definition ast_nodes.h:154
token_T * comment_end
Definition ast_nodes.h:157
hb_array_T * children
Definition ast_nodes.h:156
hb_array_T * body
Definition ast_nodes.h:121
element_source_t source
Definition ast_nodes.h:125
AST_NODE_T * close_tag
Definition ast_nodes.h:122
AST_NODE_T * open_conditional
Definition ast_nodes.h:119
AST_NODE_T base
Definition ast_nodes.h:117
AST_NODE_T * close_conditional
Definition ast_nodes.h:123
struct AST_HTML_OPEN_TAG_NODE_STRUCT * open_tag
Definition ast_nodes.h:120
const char * condition
Definition ast_nodes.h:118
token_T * tag_name
Definition ast_nodes.h:124
AST_NODE_T * conditional
Definition ast_nodes.h:88
token_T * tag_name
Definition ast_nodes.h:89
AST_NODE_T base
Definition ast_nodes.h:87
bool is_void
Definition ast_nodes.h:90
Definition ast_nodes.h:160
hb_array_T * children
Definition ast_nodes.h:163
token_T * tag_opening
Definition ast_nodes.h:162
AST_NODE_T base
Definition ast_nodes.h:161
token_T * tag_closing
Definition ast_nodes.h:164
Definition ast_nodes.h:106
AST_NODE_T base
Definition ast_nodes.h:107
element_source_t source
Definition ast_nodes.h:113
hb_array_T * body
Definition ast_nodes.h:110
bool is_void
Definition ast_nodes.h:112
token_T * tag_name
Definition ast_nodes.h:109
AST_NODE_T * close_tag
Definition ast_nodes.h:111
AST_NODE_T * open_tag
Definition ast_nodes.h:108
Definition ast_nodes.h:101
AST_NODE_T base
Definition ast_nodes.h:102
token_T * tag_name
Definition ast_nodes.h:103
Definition ast_nodes.h:77
hb_array_T * children
Definition ast_nodes.h:82
token_T * tag_name
Definition ast_nodes.h:80
bool is_void
Definition ast_nodes.h:83
token_T * tag_closing
Definition ast_nodes.h:81
AST_NODE_T base
Definition ast_nodes.h:78
token_T * tag_opening
Definition ast_nodes.h:79
Definition ast_nodes.h:148
const char * content
Definition ast_nodes.h:150
AST_NODE_T base
Definition ast_nodes.h:149
Definition ast_nodes.h:72
const char * content
Definition ast_nodes.h:74
AST_NODE_T base
Definition ast_nodes.h:73
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:181
AST_NODE_T base
Definition ast_nodes.h:182
token_T * value
Definition ast_nodes.h:183
Definition ast_nodes.h:167
hb_array_T * children
Definition ast_nodes.h:170
token_T * tag_opening
Definition ast_nodes.h:169
token_T * tag_closing
Definition ast_nodes.h:171
AST_NODE_T base
Definition ast_nodes.h:168
Definition location.h:9
Definition position.h:8
Definition token_struct.h:54