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 "herb_prism_node.h"
13#include "prism_context.h"
14#include "prism_serialized.h"
15#include "location.h"
16#include "position.h"
17#include "token_struct.h"
18#include "util/hb_allocator.h"
19#include "util/hb_array.h"
20#include "util/hb_buffer.h"
21#include "util/hb_string.h"
22
67
68typedef struct AST_NODE_STRUCT {
71 // maybe a range too?
72 hb_array_T* errors;
74
75
82
87
96
103
111
116
121
131
143
151
156
163
168
174
183
188
195
202
209
216
221
232
239
247
259
269
278
290
302
312
322
332
341
349
362
374
380
407
415
425
432
441
442AST_DOCUMENT_NODE_T* ast_document_node_init(hb_array_T* children, herb_prism_context_T* prism_context, herb_prism_node_T prism_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
443AST_LITERAL_NODE_T* ast_literal_node_init(hb_string_T content, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
444AST_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);
445AST_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);
446AST_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);
447AST_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);
448AST_HTML_VIRTUAL_CLOSE_TAG_NODE_T* ast_html_virtual_close_tag_node_init(token_T* tag_name, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
449AST_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, hb_string_T element_source, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
450AST_HTML_CONDITIONAL_ELEMENT_NODE_T* ast_html_conditional_element_node_init(hb_string_T 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, hb_string_T element_source, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
451AST_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);
452AST_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);
453AST_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);
454AST_RUBY_LITERAL_NODE_T* ast_ruby_literal_node_init(hb_string_T content, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
455AST_RUBY_HTML_ATTRIBUTES_SPLAT_NODE_T* ast_ruby_html_attributes_splat_node_init(hb_string_T content, hb_string_T prefix, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
456AST_ERB_OPEN_TAG_NODE_T* ast_erb_open_tag_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, token_T* tag_name, hb_array_T* children, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
457AST_HTML_TEXT_NODE_T* ast_html_text_node_init(hb_string_T content, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
458AST_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);
459AST_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);
460AST_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);
461AST_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);
462AST_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);
463AST_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, herb_prism_node_T prism_node, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
464AST_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);
465AST_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);
466AST_ERB_IF_NODE_T* ast_erb_if_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, location_T* then_keyword, herb_prism_node_T prism_node, 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);
467AST_ERB_BLOCK_NODE_T* ast_erb_block_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, herb_prism_node_T prism_node, 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);
468AST_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);
469AST_ERB_CASE_NODE_T* ast_erb_case_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, hb_array_T* children, herb_prism_node_T prism_node, 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);
470AST_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, herb_prism_node_T prism_node, 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);
471AST_ERB_WHILE_NODE_T* ast_erb_while_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, herb_prism_node_T prism_node, 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);
472AST_ERB_UNTIL_NODE_T* ast_erb_until_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, herb_prism_node_T prism_node, 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);
473AST_ERB_FOR_NODE_T* ast_erb_for_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, herb_prism_node_T prism_node, 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);
474AST_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);
475AST_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);
476AST_ERB_BEGIN_NODE_T* ast_erb_begin_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, herb_prism_node_T prism_node, 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);
477AST_ERB_UNLESS_NODE_T* ast_erb_unless_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, location_T* then_keyword, herb_prism_node_T prism_node, 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);
478AST_RUBY_RENDER_LOCAL_NODE_T* ast_ruby_render_local_node_init(token_T* name, struct AST_RUBY_LITERAL_NODE_STRUCT* value, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
479AST_ERB_RENDER_NODE_T* ast_erb_render_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, analyzed_ruby_T* analyzed_ruby, herb_prism_node_T prism_node, token_T* partial, token_T* template_path, token_T* layout, token_T* file, token_T* inline_template, token_T* body, token_T* plain, token_T* html, token_T* renderable, token_T* collection, token_T* object, token_T* as_name, token_T* spacer_template, token_T* formats, token_T* variants, token_T* handlers, token_T* content_type, hb_array_T* locals, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
480AST_RUBY_STRICT_LOCAL_NODE_T* ast_ruby_strict_local_node_init(token_T* name, struct AST_RUBY_LITERAL_NODE_STRUCT* default_value, bool required, bool double_splat, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
481AST_ERB_STRICT_LOCALS_NODE_T* ast_erb_strict_locals_node_init(token_T* tag_opening, token_T* content, token_T* tag_closing, analyzed_ruby_T* analyzed_ruby, herb_prism_node_T prism_node, hb_array_T* locals, position_T start_position, position_T end_position, hb_array_T* errors, hb_allocator_T* allocator);
482AST_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);
483AST_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);
484
485hb_string_T ast_node_type_to_string(AST_NODE_T* node);
486hb_string_T ast_node_human_type(AST_NODE_T* node);
487
488#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:517
struct AST_CDATA_NODE_STRUCT AST_CDATA_NODE_T
AST_DOCUMENT_NODE_T * ast_document_node_init(hb_array_T *children, herb_prism_context_T *prism_context, herb_prism_node_T prism_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:20
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_FOR_NODE_T * ast_erb_for_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, herb_prism_node_T prism_node, 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:484
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:76
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:259
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, herb_prism_node_T prism_node, 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:431
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:301
AST_ERB_BEGIN_NODE_T * ast_erb_begin_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, herb_prism_node_T prism_node, 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:532
struct AST_HTML_CONDITIONAL_OPEN_TAG_NODE_STRUCT AST_HTML_CONDITIONAL_OPEN_TAG_NODE_T
AST_ERB_RENDER_NODE_T * ast_erb_render_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, analyzed_ruby_T *analyzed_ruby, herb_prism_node_T prism_node, token_T *partial, token_T *template_path, token_T *layout, token_T *file, token_T *inline_template, token_T *body, token_T *plain, token_T *html, token_T *renderable, token_T *collection, token_T *object, token_T *as_name, token_T *spacer_template, token_T *formats, token_T *variants, token_T *handlers, token_T *content_type, hb_array_T *locals, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:584
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:345
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:178
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:287
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:273
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:166
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, herb_prism_node_T prism_node, 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:552
AST_ERB_UNTIL_NODE_T * ast_erb_until_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, herb_prism_node_T prism_node, 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:467
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:664
AST_HTML_TEXT_NODE_T * ast_html_text_node_init(hb_string_T content, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:233
AST_ERB_WHILE_NODE_T * ast_erb_while_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, herb_prism_node_T prism_node, 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:450
AST_HTML_CONDITIONAL_ELEMENT_NODE_T * ast_html_conditional_element_node_init(hb_string_T 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, hb_string_T element_source, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:132
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
AST_ERB_OPEN_TAG_NODE_T * ast_erb_open_tag_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, token_T *tag_name, hb_array_T *children, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:217
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
AST_RUBY_LITERAL_NODE_T * ast_ruby_literal_node_init(hb_string_T content, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:192
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:23
@ AST_ERB_UNTIL_NODE
Definition ast_nodes.h:54
@ AST_ERB_IN_NODE
Definition ast_nodes.h:65
@ AST_ERB_END_NODE
Definition ast_nodes.h:46
@ AST_ERB_OPEN_TAG_NODE
Definition ast_nodes.h:38
@ AST_ERB_BLOCK_NODE
Definition ast_nodes.h:49
@ AST_RUBY_LITERAL_NODE
Definition ast_nodes.h:36
@ AST_HTML_COMMENT_NODE
Definition ast_nodes.h:40
@ AST_HTML_ATTRIBUTE_VALUE_NODE
Definition ast_nodes.h:33
@ AST_CDATA_NODE
Definition ast_nodes.h:43
@ AST_HTML_ELEMENT_NODE
Definition ast_nodes.h:31
@ AST_ERB_WHEN_NODE
Definition ast_nodes.h:50
@ AST_RUBY_HTML_ATTRIBUTES_SPLAT_NODE
Definition ast_nodes.h:37
@ AST_ERB_BEGIN_NODE
Definition ast_nodes.h:58
@ AST_ERB_WHILE_NODE
Definition ast_nodes.h:53
@ AST_DOCUMENT_NODE
Definition ast_nodes.h:24
@ AST_ERB_IF_NODE
Definition ast_nodes.h:48
@ AST_ERB_FOR_NODE
Definition ast_nodes.h:55
@ AST_HTML_OPEN_TAG_NODE
Definition ast_nodes.h:26
@ AST_HTML_OMITTED_CLOSE_TAG_NODE
Definition ast_nodes.h:29
@ AST_HTML_DOCTYPE_NODE
Definition ast_nodes.h:41
@ AST_HTML_ATTRIBUTE_NODE
Definition ast_nodes.h:35
@ AST_HTML_TEXT_NODE
Definition ast_nodes.h:39
@ AST_ERB_UNLESS_NODE
Definition ast_nodes.h:59
@ AST_ERB_ENSURE_NODE
Definition ast_nodes.h:57
@ AST_LITERAL_NODE
Definition ast_nodes.h:25
@ AST_WHITESPACE_NODE
Definition ast_nodes.h:44
@ AST_ERB_CASE_NODE
Definition ast_nodes.h:51
@ AST_ERB_RENDER_NODE
Definition ast_nodes.h:61
@ AST_RUBY_STRICT_LOCAL_NODE
Definition ast_nodes.h:62
@ AST_ERB_CONTENT_NODE
Definition ast_nodes.h:45
@ AST_ERB_ELSE_NODE
Definition ast_nodes.h:47
@ AST_HTML_VIRTUAL_CLOSE_TAG_NODE
Definition ast_nodes.h:30
@ AST_HTML_CONDITIONAL_ELEMENT_NODE
Definition ast_nodes.h:32
@ AST_ERB_CASE_MATCH_NODE
Definition ast_nodes.h:52
@ AST_RUBY_RENDER_LOCAL_NODE
Definition ast_nodes.h:60
@ AST_ERB_RESCUE_NODE
Definition ast_nodes.h:56
@ AST_ERB_STRICT_LOCALS_NODE
Definition ast_nodes.h:63
@ AST_ERB_YIELD_NODE
Definition ast_nodes.h:64
@ AST_HTML_CONDITIONAL_OPEN_TAG_NODE
Definition ast_nodes.h:27
@ AST_XML_DECLARATION_NODE
Definition ast_nodes.h:42
@ AST_HTML_ATTRIBUTE_NAME_NODE
Definition ast_nodes.h:34
@ AST_HTML_CLOSE_TAG_NODE
Definition ast_nodes.h:28
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:396
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:245
struct AST_ERB_CASE_NODE_STRUCT AST_ERB_CASE_NODE_T
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:501
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:331
struct AST_RUBY_RENDER_LOCAL_NODE_STRUCT AST_RUBY_RENDER_LOCAL_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_allocator_T *allocator)
Definition ast_nodes.c:650
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:46
struct AST_HTML_OPEN_TAG_NODE_STRUCT AST_HTML_OPEN_TAG_NODE_T
struct AST_HTML_VIRTUAL_CLOSE_TAG_NODE_STRUCT AST_HTML_VIRTUAL_CLOSE_TAG_NODE_T
AST_ERB_BLOCK_NODE_T * ast_erb_block_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, herb_prism_node_T prism_node, 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:379
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, herb_prism_node_T prism_node, 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:360
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, herb_prism_node_T prism_node, 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:412
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:729
struct AST_ERB_OPEN_TAG_NODE_STRUCT AST_ERB_OPEN_TAG_NODE_T
struct AST_ERB_CONTENT_NODE_STRUCT AST_ERB_CONTENT_NODE_T
struct AST_ERB_RENDER_NODE_STRUCT AST_ERB_RENDER_NODE_T
AST_HTML_VIRTUAL_CLOSE_TAG_NODE_T * ast_html_virtual_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:103
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:151
AST_RUBY_HTML_ATTRIBUTES_SPLAT_NODE_T * ast_ruby_html_attributes_splat_node_init(hb_string_T content, hb_string_T prefix, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:204
struct AST_RUBY_HTML_ATTRIBUTES_SPLAT_NODE_STRUCT AST_RUBY_HTML_ATTRIBUTES_SPLAT_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, herb_prism_node_T prism_node, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:313
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, hb_string_T element_source, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:115
AST_LITERAL_NODE_T * ast_literal_node_init(hb_string_T content, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:34
hb_string_T ast_node_type_to_string(AST_NODE_T *node)
Definition ast_nodes.c:680
AST_RUBY_RENDER_LOCAL_NODE_T * ast_ruby_render_local_node_init(token_T *name, struct AST_RUBY_LITERAL_NODE_STRUCT *value, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:571
AST_ERB_STRICT_LOCALS_NODE_T * ast_erb_strict_locals_node_init(token_T *tag_opening, token_T *content, token_T *tag_closing, analyzed_ruby_T *analyzed_ruby, herb_prism_node_T prism_node, hb_array_T *locals, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:633
struct AST_HTML_ATTRIBUTE_NODE_STRUCT AST_HTML_ATTRIBUTE_NODE_T
AST_RUBY_STRICT_LOCAL_NODE_T * ast_ruby_strict_local_node_init(token_T *name, struct AST_RUBY_LITERAL_NODE_STRUCT *default_value, bool required, bool double_splat, position_T start_position, position_T end_position, hb_array_T *errors, hb_allocator_T *allocator)
Definition ast_nodes.c:618
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:91
struct AST_RUBY_STRICT_LOCAL_NODE_STRUCT AST_RUBY_STRICT_LOCAL_NODE_T
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:62
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_STRICT_LOCALS_NODE_STRUCT AST_ERB_STRICT_LOCALS_NODE_T
struct AST_ERB_ELSE_NODE_STRUCT AST_ERB_ELSE_NODE_T
struct AST_HTML_ELEMENT_NODE_STRUCT AST_HTML_ELEMENT_NODE_T
struct AST_RUBY_LITERAL_NODE_STRUCT AST_RUBY_LITERAL_NODE_T
Definition ast_nodes.h:210
token_T * tag_opening
Definition ast_nodes.h:212
AST_NODE_T base
Definition ast_nodes.h:211
token_T * tag_closing
Definition ast_nodes.h:214
hb_array_T * children
Definition ast_nodes.h:213
Definition ast_nodes.h:76
hb_array_T * children
Definition ast_nodes.h:78
herb_prism_context_T * prism_context
Definition ast_nodes.h:79
AST_NODE_T base
Definition ast_nodes.h:77
herb_prism_node_T prism_node
Definition ast_nodes.h:80
Definition ast_nodes.h:350
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:358
hb_array_T * statements
Definition ast_nodes.h:356
token_T * tag_closing
Definition ast_nodes.h:354
token_T * content
Definition ast_nodes.h:353
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:360
AST_NODE_T base
Definition ast_nodes.h:351
token_T * tag_opening
Definition ast_nodes.h:352
herb_prism_node_T prism_node
Definition ast_nodes.h:355
struct AST_ERB_RESCUE_NODE_STRUCT * rescue_clause
Definition ast_nodes.h:357
struct AST_ERB_ENSURE_NODE_STRUCT * ensure_clause
Definition ast_nodes.h:359
Definition ast_nodes.h:260
AST_NODE_T base
Definition ast_nodes.h:261
herb_prism_node_T prism_node
Definition ast_nodes.h:265
token_T * tag_opening
Definition ast_nodes.h:262
token_T * tag_closing
Definition ast_nodes.h:264
token_T * content
Definition ast_nodes.h:263
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:267
hb_array_T * body
Definition ast_nodes.h:266
Definition ast_nodes.h:291
hb_array_T * children
Definition ast_nodes.h:296
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:299
token_T * tag_opening
Definition ast_nodes.h:293
AST_NODE_T base
Definition ast_nodes.h:292
hb_array_T * conditions
Definition ast_nodes.h:298
token_T * tag_closing
Definition ast_nodes.h:295
token_T * content
Definition ast_nodes.h:294
herb_prism_node_T prism_node
Definition ast_nodes.h:297
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:300
Definition ast_nodes.h:279
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:288
token_T * content
Definition ast_nodes.h:282
hb_array_T * children
Definition ast_nodes.h:284
hb_array_T * conditions
Definition ast_nodes.h:286
AST_NODE_T base
Definition ast_nodes.h:280
token_T * tag_closing
Definition ast_nodes.h:283
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:287
herb_prism_node_T prism_node
Definition ast_nodes.h:285
token_T * tag_opening
Definition ast_nodes.h:281
Definition ast_nodes.h:222
analyzed_ruby_T * analyzed_ruby
Definition ast_nodes.h:227
AST_NODE_T base
Definition ast_nodes.h:223
bool valid
Definition ast_nodes.h:229
bool parsed
Definition ast_nodes.h:228
token_T * tag_closing
Definition ast_nodes.h:226
token_T * tag_opening
Definition ast_nodes.h:224
herb_prism_node_T prism_node
Definition ast_nodes.h:230
token_T * content
Definition ast_nodes.h:225
Definition ast_nodes.h:240
token_T * tag_opening
Definition ast_nodes.h:242
token_T * tag_closing
Definition ast_nodes.h:244
AST_NODE_T base
Definition ast_nodes.h:241
hb_array_T * statements
Definition ast_nodes.h:245
token_T * content
Definition ast_nodes.h:243
Definition ast_nodes.h:233
token_T * tag_closing
Definition ast_nodes.h:237
token_T * tag_opening
Definition ast_nodes.h:235
AST_NODE_T base
Definition ast_nodes.h:234
token_T * content
Definition ast_nodes.h:236
Definition ast_nodes.h:342
hb_array_T * statements
Definition ast_nodes.h:347
token_T * tag_closing
Definition ast_nodes.h:346
AST_NODE_T base
Definition ast_nodes.h:343
token_T * tag_opening
Definition ast_nodes.h:344
token_T * content
Definition ast_nodes.h:345
Definition ast_nodes.h:323
hb_array_T * statements
Definition ast_nodes.h:329
token_T * tag_opening
Definition ast_nodes.h:325
token_T * tag_closing
Definition ast_nodes.h:327
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:330
token_T * content
Definition ast_nodes.h:326
AST_NODE_T base
Definition ast_nodes.h:324
herb_prism_node_T prism_node
Definition ast_nodes.h:328
Definition ast_nodes.h:248
herb_prism_node_T prism_node
Definition ast_nodes.h:254
AST_NODE_T base
Definition ast_nodes.h:249
AST_NODE_T * subsequent
Definition ast_nodes.h:256
location_T * then_keyword
Definition ast_nodes.h:253
token_T * tag_opening
Definition ast_nodes.h:250
hb_array_T * statements
Definition ast_nodes.h:255
token_T * content
Definition ast_nodes.h:251
token_T * tag_closing
Definition ast_nodes.h:252
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:257
Definition ast_nodes.h:433
location_T * then_keyword
Definition ast_nodes.h:438
token_T * tag_opening
Definition ast_nodes.h:435
hb_array_T * statements
Definition ast_nodes.h:439
token_T * tag_closing
Definition ast_nodes.h:437
AST_NODE_T base
Definition ast_nodes.h:434
token_T * content
Definition ast_nodes.h:436
Definition ast_nodes.h:175
token_T * tag_closing
Definition ast_nodes.h:179
token_T * tag_opening
Definition ast_nodes.h:177
AST_NODE_T base
Definition ast_nodes.h:176
hb_array_T * children
Definition ast_nodes.h:181
token_T * content
Definition ast_nodes.h:178
token_T * tag_name
Definition ast_nodes.h:180
Definition ast_nodes.h:381
hb_array_T * locals
Definition ast_nodes.h:405
token_T * content_type
Definition ast_nodes.h:404
token_T * object
Definition ast_nodes.h:398
token_T * file
Definition ast_nodes.h:391
token_T * plain
Definition ast_nodes.h:394
token_T * tag_opening
Definition ast_nodes.h:383
token_T * layout
Definition ast_nodes.h:390
token_T * renderable
Definition ast_nodes.h:396
token_T * html
Definition ast_nodes.h:395
token_T * inline_template
Definition ast_nodes.h:392
token_T * handlers
Definition ast_nodes.h:403
token_T * collection
Definition ast_nodes.h:397
token_T * partial
Definition ast_nodes.h:388
token_T * spacer_template
Definition ast_nodes.h:400
token_T * formats
Definition ast_nodes.h:401
token_T * as_name
Definition ast_nodes.h:399
token_T * body
Definition ast_nodes.h:393
analyzed_ruby_T * analyzed_ruby
Definition ast_nodes.h:386
token_T * tag_closing
Definition ast_nodes.h:385
token_T * template_path
Definition ast_nodes.h:389
token_T * variants
Definition ast_nodes.h:402
token_T * content
Definition ast_nodes.h:384
AST_NODE_T base
Definition ast_nodes.h:382
herb_prism_node_T prism_node
Definition ast_nodes.h:387
Definition ast_nodes.h:333
token_T * tag_closing
Definition ast_nodes.h:337
AST_NODE_T base
Definition ast_nodes.h:334
hb_array_T * statements
Definition ast_nodes.h:338
token_T * tag_opening
Definition ast_nodes.h:335
token_T * content
Definition ast_nodes.h:336
struct AST_ERB_RESCUE_NODE_STRUCT * subsequent
Definition ast_nodes.h:339
Definition ast_nodes.h:416
herb_prism_node_T prism_node
Definition ast_nodes.h:422
hb_array_T * locals
Definition ast_nodes.h:423
AST_NODE_T base
Definition ast_nodes.h:417
analyzed_ruby_T * analyzed_ruby
Definition ast_nodes.h:421
token_T * tag_opening
Definition ast_nodes.h:418
token_T * content
Definition ast_nodes.h:419
token_T * tag_closing
Definition ast_nodes.h:420
Definition ast_nodes.h:363
token_T * content
Definition ast_nodes.h:366
herb_prism_node_T prism_node
Definition ast_nodes.h:369
AST_NODE_T base
Definition ast_nodes.h:364
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:372
location_T * then_keyword
Definition ast_nodes.h:368
struct AST_ERB_ELSE_NODE_STRUCT * else_clause
Definition ast_nodes.h:371
token_T * tag_closing
Definition ast_nodes.h:367
hb_array_T * statements
Definition ast_nodes.h:370
token_T * tag_opening
Definition ast_nodes.h:365
Definition ast_nodes.h:313
AST_NODE_T base
Definition ast_nodes.h:314
token_T * content
Definition ast_nodes.h:316
token_T * tag_closing
Definition ast_nodes.h:317
hb_array_T * statements
Definition ast_nodes.h:319
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:320
herb_prism_node_T prism_node
Definition ast_nodes.h:318
token_T * tag_opening
Definition ast_nodes.h:315
Definition ast_nodes.h:270
token_T * content
Definition ast_nodes.h:273
token_T * tag_closing
Definition ast_nodes.h:274
location_T * then_keyword
Definition ast_nodes.h:275
token_T * tag_opening
Definition ast_nodes.h:272
hb_array_T * statements
Definition ast_nodes.h:276
AST_NODE_T base
Definition ast_nodes.h:271
Definition ast_nodes.h:303
token_T * content
Definition ast_nodes.h:306
token_T * tag_opening
Definition ast_nodes.h:305
hb_array_T * statements
Definition ast_nodes.h:309
herb_prism_node_T prism_node
Definition ast_nodes.h:308
struct AST_ERB_END_NODE_STRUCT * end_node
Definition ast_nodes.h:310
AST_NODE_T base
Definition ast_nodes.h:304
token_T * tag_closing
Definition ast_nodes.h:307
Definition ast_nodes.h:426
token_T * tag_closing
Definition ast_nodes.h:430
token_T * content
Definition ast_nodes.h:429
token_T * tag_opening
Definition ast_nodes.h:428
AST_NODE_T base
Definition ast_nodes.h:427
Definition ast_nodes.h:152
AST_NODE_T base
Definition ast_nodes.h:153
hb_array_T * children
Definition ast_nodes.h:154
Definition ast_nodes.h:157
struct AST_HTML_ATTRIBUTE_NAME_NODE_STRUCT * name
Definition ast_nodes.h:159
struct AST_HTML_ATTRIBUTE_VALUE_NODE_STRUCT * value
Definition ast_nodes.h:161
AST_NODE_T base
Definition ast_nodes.h:158
token_T * equals
Definition ast_nodes.h:160
Definition ast_nodes.h:144
hb_array_T * children
Definition ast_nodes.h:147
token_T * close_quote
Definition ast_nodes.h:148
bool quoted
Definition ast_nodes.h:149
AST_NODE_T base
Definition ast_nodes.h:145
token_T * open_quote
Definition ast_nodes.h:146
Definition ast_nodes.h:104
token_T * tag_name
Definition ast_nodes.h:107
AST_NODE_T base
Definition ast_nodes.h:105
token_T * tag_opening
Definition ast_nodes.h:106
token_T * tag_closing
Definition ast_nodes.h:109
hb_array_T * children
Definition ast_nodes.h:108
Definition ast_nodes.h:189
token_T * comment_start
Definition ast_nodes.h:191
AST_NODE_T base
Definition ast_nodes.h:190
token_T * comment_end
Definition ast_nodes.h:193
hb_array_T * children
Definition ast_nodes.h:192
hb_array_T * body
Definition ast_nodes.h:137
AST_NODE_T * close_tag
Definition ast_nodes.h:138
AST_NODE_T * open_conditional
Definition ast_nodes.h:135
hb_string_T element_source
Definition ast_nodes.h:141
AST_NODE_T base
Definition ast_nodes.h:133
AST_NODE_T * close_conditional
Definition ast_nodes.h:139
struct AST_HTML_OPEN_TAG_NODE_STRUCT * open_tag
Definition ast_nodes.h:136
hb_string_T condition
Definition ast_nodes.h:134
token_T * tag_name
Definition ast_nodes.h:140
AST_NODE_T * conditional
Definition ast_nodes.h:99
token_T * tag_name
Definition ast_nodes.h:100
AST_NODE_T base
Definition ast_nodes.h:98
bool is_void
Definition ast_nodes.h:101
Definition ast_nodes.h:196
hb_array_T * children
Definition ast_nodes.h:199
token_T * tag_opening
Definition ast_nodes.h:198
AST_NODE_T base
Definition ast_nodes.h:197
token_T * tag_closing
Definition ast_nodes.h:200
Definition ast_nodes.h:122
AST_NODE_T base
Definition ast_nodes.h:123
hb_string_T element_source
Definition ast_nodes.h:129
hb_array_T * body
Definition ast_nodes.h:126
bool is_void
Definition ast_nodes.h:128
token_T * tag_name
Definition ast_nodes.h:125
AST_NODE_T * close_tag
Definition ast_nodes.h:127
AST_NODE_T * open_tag
Definition ast_nodes.h:124
Definition ast_nodes.h:112
AST_NODE_T base
Definition ast_nodes.h:113
token_T * tag_name
Definition ast_nodes.h:114
Definition ast_nodes.h:88
hb_array_T * children
Definition ast_nodes.h:93
token_T * tag_name
Definition ast_nodes.h:91
bool is_void
Definition ast_nodes.h:94
token_T * tag_closing
Definition ast_nodes.h:92
AST_NODE_T base
Definition ast_nodes.h:89
token_T * tag_opening
Definition ast_nodes.h:90
Definition ast_nodes.h:184
hb_string_T content
Definition ast_nodes.h:186
AST_NODE_T base
Definition ast_nodes.h:185
Definition ast_nodes.h:117
token_T * tag_name
Definition ast_nodes.h:119
AST_NODE_T base
Definition ast_nodes.h:118
Definition ast_nodes.h:83
AST_NODE_T base
Definition ast_nodes.h:84
hb_string_T content
Definition ast_nodes.h:85
Definition ast_nodes.h:68
hb_array_T * errors
Definition ast_nodes.h:72
ast_node_type_T type
Definition ast_nodes.h:69
location_T location
Definition ast_nodes.h:70
hb_string_T prefix
Definition ast_nodes.h:172
AST_NODE_T base
Definition ast_nodes.h:170
hb_string_T content
Definition ast_nodes.h:171
Definition ast_nodes.h:164
AST_NODE_T base
Definition ast_nodes.h:165
hb_string_T content
Definition ast_nodes.h:166
Definition ast_nodes.h:375
struct AST_RUBY_LITERAL_NODE_STRUCT * value
Definition ast_nodes.h:378
AST_NODE_T base
Definition ast_nodes.h:376
token_T * name
Definition ast_nodes.h:377
Definition ast_nodes.h:408
bool required
Definition ast_nodes.h:412
AST_NODE_T base
Definition ast_nodes.h:409
token_T * name
Definition ast_nodes.h:410
struct AST_RUBY_LITERAL_NODE_STRUCT * default_value
Definition ast_nodes.h:411
bool double_splat
Definition ast_nodes.h:413
Definition ast_nodes.h:217
AST_NODE_T base
Definition ast_nodes.h:218
token_T * value
Definition ast_nodes.h:219
Definition ast_nodes.h:203
hb_array_T * children
Definition ast_nodes.h:206
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
Definition location.h:10
Definition position.h:8
Definition token_struct.h:58
Definition prism_context.h:9
Definition herb_prism_node.h:6