1 /* This C header file is generated by NIT to compile modules and programs that requires scope. */
5 #include <nit_common.h>
7 extern const classtable_elt_t VFT_ScopeContext
[];
9 extern const classtable_elt_t VFT_ScopeBlock
[];
11 extern const classtable_elt_t VFT_EscapableBlock
[];
13 extern const classtable_elt_t VFT_BreakOnlyEscapableBlock
[];
15 extern const classtable_elt_t VFT_EscapableClosure
[];
17 extern const classtable_elt_t VFT_AEscapeExpr
[];
18 extern const char *LOCATE_scope
;
19 extern const int SFT_scope
[];
20 #define ID_ScopeContext (SFT_scope[0])
21 #define COLOR_ScopeContext (SFT_scope[1])
22 #define ATTR_scope___ScopeContext____stack(recv) ATTR(recv, (SFT_scope[2] + 0))
23 #define ATTR_scope___ScopeContext____variables(recv) ATTR(recv, (SFT_scope[2] + 1))
24 #define ATTR_scope___ScopeContext____labels(recv) ATTR(recv, (SFT_scope[2] + 2))
25 #define ATTR_scope___ScopeContext____visitor(recv) ATTR(recv, (SFT_scope[2] + 3))
26 #define INIT_TABLE_POS_ScopeContext (SFT_scope[3] + 0)
27 #define CALL_scope___ScopeContext_____bra(recv) ((scope___ScopeContext_____bra_t)CALL((recv), (SFT_scope[3] + 1)))
28 #define CALL_scope___ScopeContext___add_variable(recv) ((scope___ScopeContext___add_variable_t)CALL((recv), (SFT_scope[3] + 2)))
29 #define CALL_scope___ScopeContext___push(recv) ((scope___ScopeContext___push_t)CALL((recv), (SFT_scope[3] + 3)))
30 #define CALL_scope___ScopeContext___push_escapable(recv) ((scope___ScopeContext___push_escapable_t)CALL((recv), (SFT_scope[3] + 4)))
31 #define CALL_scope___ScopeContext___head(recv) ((scope___ScopeContext___head_t)CALL((recv), (SFT_scope[3] + 5)))
32 #define CALL_scope___ScopeContext___get_by_label(recv) ((scope___ScopeContext___get_by_label_t)CALL((recv), (SFT_scope[3] + 6)))
33 #define CALL_scope___ScopeContext___pop(recv) ((scope___ScopeContext___pop_t)CALL((recv), (SFT_scope[3] + 7)))
34 #define CALL_scope___ScopeContext___visitor(recv) ((scope___ScopeContext___visitor_t)CALL((recv), (SFT_scope[3] + 8)))
35 #define CALL_scope___ScopeContext___init(recv) ((scope___ScopeContext___init_t)CALL((recv), (SFT_scope[3] + 9)))
36 #define ID_ScopeBlock (SFT_scope[4])
37 #define COLOR_ScopeBlock (SFT_scope[5])
38 #define ATTR_scope___ScopeBlock____node(recv) ATTR(recv, (SFT_scope[6] + 0))
39 #define ATTR_scope___ScopeBlock____dico(recv) ATTR(recv, (SFT_scope[6] + 1))
40 #define INIT_TABLE_POS_ScopeBlock (SFT_scope[7] + 0)
41 #define CALL_scope___ScopeBlock___node(recv) ((scope___ScopeBlock___node_t)CALL((recv), (SFT_scope[7] + 1)))
42 #define CALL_scope___ScopeBlock___add_variable(recv) ((scope___ScopeBlock___add_variable_t)CALL((recv), (SFT_scope[7] + 2)))
43 #define CALL_scope___ScopeBlock___get_variable(recv) ((scope___ScopeBlock___get_variable_t)CALL((recv), (SFT_scope[7] + 3)))
44 #define CALL_scope___ScopeBlock___init(recv) ((scope___ScopeBlock___init_t)CALL((recv), (SFT_scope[7] + 4)))
45 #define ID_EscapableBlock (SFT_scope[8])
46 #define COLOR_EscapableBlock (SFT_scope[9])
47 #define ATTR_scope___EscapableBlock____lab(recv) ATTR(recv, (SFT_scope[10] + 0))
48 #define ATTR_scope___EscapableBlock____break_flow_contexts(recv) ATTR(recv, (SFT_scope[10] + 1))
49 #define INIT_TABLE_POS_EscapableBlock (SFT_scope[11] + 0)
50 #define CALL_scope___EscapableBlock___lab(recv) ((scope___EscapableBlock___lab_t)CALL((recv), (SFT_scope[11] + 1)))
51 #define CALL_scope___EscapableBlock___is_break_block(recv) ((scope___EscapableBlock___is_break_block_t)CALL((recv), (SFT_scope[11] + 2)))
52 #define CALL_scope___EscapableBlock___break_list(recv) ((scope___EscapableBlock___break_list_t)CALL((recv), (SFT_scope[11] + 3)))
53 #define CALL_scope___EscapableBlock___continue_stype(recv) ((scope___EscapableBlock___continue_stype_t)CALL((recv), (SFT_scope[11] + 4)))
54 #define CALL_scope___EscapableBlock___break_flow_contexts(recv) ((scope___EscapableBlock___break_flow_contexts_t)CALL((recv), (SFT_scope[11] + 5)))
55 #define CALL_scope___EscapableBlock___init(recv) ((scope___EscapableBlock___init_t)CALL((recv), (SFT_scope[11] + 6)))
56 #define ID_BreakOnlyEscapableBlock (SFT_scope[12])
57 #define COLOR_BreakOnlyEscapableBlock (SFT_scope[13])
58 #define INIT_TABLE_POS_BreakOnlyEscapableBlock (SFT_scope[14] + 0)
59 #define CALL_scope___BreakOnlyEscapableBlock___init(recv) ((scope___BreakOnlyEscapableBlock___init_t)CALL((recv), (SFT_scope[14] + 1)))
60 #define ID_EscapableClosure (SFT_scope[15])
61 #define COLOR_EscapableClosure (SFT_scope[16])
62 #define ATTR_scope___EscapableClosure____closure(recv) ATTR(recv, (SFT_scope[17] + 0))
63 #define ATTR_scope___EscapableClosure____break_list(recv) ATTR(recv, (SFT_scope[17] + 1))
64 #define INIT_TABLE_POS_EscapableClosure (SFT_scope[18] + 0)
65 #define CALL_scope___EscapableClosure___closure(recv) ((scope___EscapableClosure___closure_t)CALL((recv), (SFT_scope[18] + 1)))
66 #define CALL_scope___EscapableClosure___init(recv) ((scope___EscapableClosure___init_t)CALL((recv), (SFT_scope[18] + 2)))
67 #define ID_AEscapeExpr (SFT_scope[19])
68 #define COLOR_AEscapeExpr (SFT_scope[20])
69 #define ATTR_scope___AEscapeExpr____escapable(recv) ATTR(recv, (SFT_scope[21] + 0))
70 #define INIT_TABLE_POS_AEscapeExpr (SFT_scope[22] + 0)
71 #define CALL_scope___AEscapeExpr___escapable(recv) ((scope___AEscapeExpr___escapable_t)CALL((recv), (SFT_scope[22] + 1)))
72 #define CALL_scope___AEscapeExpr___kwname(recv) ((scope___AEscapeExpr___kwname_t)CALL((recv), (SFT_scope[22] + 2)))
73 #define CALL_scope___AEscapeExpr___compute_escapable_block(recv) ((scope___AEscapeExpr___compute_escapable_block_t)CALL((recv), (SFT_scope[22] + 3)))
74 static const char * const LOCATE_scope___ScopeContext_____bra
= "scope::ScopeContext::[]";
75 val_t
scope___ScopeContext_____bra(val_t p0
, val_t p1
);
76 typedef val_t (*scope___ScopeContext_____bra_t
)(val_t p0
, val_t p1
);
77 static const char * const LOCATE_scope___ScopeContext___add_variable
= "scope::ScopeContext::add_variable";
78 void scope___ScopeContext___add_variable(val_t p0
, val_t p1
);
79 typedef void (*scope___ScopeContext___add_variable_t
)(val_t p0
, val_t p1
);
80 static const char * const LOCATE_scope___ScopeContext___push
= "scope::ScopeContext::push";
81 void scope___ScopeContext___push(val_t p0
, val_t p1
);
82 typedef void (*scope___ScopeContext___push_t
)(val_t p0
, val_t p1
);
83 static const char * const LOCATE_scope___ScopeContext___push_escapable
= "scope::ScopeContext::push_escapable";
84 void scope___ScopeContext___push_escapable(val_t p0
, val_t p1
, val_t p2
);
85 typedef void (*scope___ScopeContext___push_escapable_t
)(val_t p0
, val_t p1
, val_t p2
);
86 static const char * const LOCATE_scope___ScopeContext___head
= "scope::ScopeContext::head";
87 val_t
scope___ScopeContext___head(val_t p0
);
88 typedef val_t (*scope___ScopeContext___head_t
)(val_t p0
);
89 static const char * const LOCATE_scope___ScopeContext___get_by_label
= "scope::ScopeContext::get_by_label";
90 val_t
scope___ScopeContext___get_by_label(val_t p0
, val_t p1
);
91 typedef val_t (*scope___ScopeContext___get_by_label_t
)(val_t p0
, val_t p1
);
92 static const char * const LOCATE_scope___ScopeContext___pop
= "scope::ScopeContext::pop";
93 void scope___ScopeContext___pop(val_t p0
);
94 typedef void (*scope___ScopeContext___pop_t
)(val_t p0
);
95 static const char * const LOCATE_scope___ScopeContext___visitor
= "scope::ScopeContext::visitor";
96 val_t
scope___ScopeContext___visitor(val_t p0
);
97 typedef val_t (*scope___ScopeContext___visitor_t
)(val_t p0
);
98 static const char * const LOCATE_scope___ScopeContext___init
= "scope::ScopeContext::init";
99 void scope___ScopeContext___init(val_t p0
, val_t p1
, int* init_table
);
100 typedef void (*scope___ScopeContext___init_t
)(val_t p0
, val_t p1
, int* init_table
);
101 val_t
NEW_ScopeContext_scope___ScopeContext___init(val_t p0
);
102 static const char * const LOCATE_scope___ScopeBlock___node
= "scope::ScopeBlock::node";
103 val_t
scope___ScopeBlock___node(val_t p0
);
104 typedef val_t (*scope___ScopeBlock___node_t
)(val_t p0
);
105 static const char * const LOCATE_scope___ScopeBlock___add_variable
= "scope::ScopeBlock::add_variable";
106 void scope___ScopeBlock___add_variable(val_t p0
, val_t p1
);
107 typedef void (*scope___ScopeBlock___add_variable_t
)(val_t p0
, val_t p1
);
108 static const char * const LOCATE_scope___ScopeBlock___get_variable
= "scope::ScopeBlock::get_variable";
109 val_t
scope___ScopeBlock___get_variable(val_t p0
, val_t p1
);
110 typedef val_t (*scope___ScopeBlock___get_variable_t
)(val_t p0
, val_t p1
);
111 static const char * const LOCATE_scope___ScopeBlock___init
= "scope::ScopeBlock::init";
112 void scope___ScopeBlock___init(val_t p0
, val_t p1
, int* init_table
);
113 typedef void (*scope___ScopeBlock___init_t
)(val_t p0
, val_t p1
, int* init_table
);
114 val_t
NEW_ScopeBlock_scope___ScopeBlock___init(val_t p0
);
115 static const char * const LOCATE_scope___EscapableBlock___lab
= "scope::EscapableBlock::lab";
116 val_t
scope___EscapableBlock___lab(val_t p0
);
117 typedef val_t (*scope___EscapableBlock___lab_t
)(val_t p0
);
118 static const char * const LOCATE_scope___EscapableBlock___is_break_block
= "scope::EscapableBlock::is_break_block";
119 val_t
scope___EscapableBlock___is_break_block(val_t p0
);
120 typedef val_t (*scope___EscapableBlock___is_break_block_t
)(val_t p0
);
121 static const char * const LOCATE_scope___EscapableBlock___break_list
= "scope::EscapableBlock::break_list";
122 val_t
scope___EscapableBlock___break_list(val_t p0
);
123 typedef val_t (*scope___EscapableBlock___break_list_t
)(val_t p0
);
124 static const char * const LOCATE_scope___EscapableBlock___continue_stype
= "scope::EscapableBlock::continue_stype";
125 val_t
scope___EscapableBlock___continue_stype(val_t p0
);
126 typedef val_t (*scope___EscapableBlock___continue_stype_t
)(val_t p0
);
127 static const char * const LOCATE_scope___EscapableBlock___break_flow_contexts
= "scope::EscapableBlock::break_flow_contexts";
128 val_t
scope___EscapableBlock___break_flow_contexts(val_t p0
);
129 typedef val_t (*scope___EscapableBlock___break_flow_contexts_t
)(val_t p0
);
130 static const char * const LOCATE_scope___EscapableBlock___init
= "scope::EscapableBlock::init";
131 void scope___EscapableBlock___init(val_t p0
, val_t p1
, int* init_table
);
132 typedef void (*scope___EscapableBlock___init_t
)(val_t p0
, val_t p1
, int* init_table
);
133 val_t
NEW_EscapableBlock_scope___EscapableBlock___init(val_t p0
);
134 static const char * const LOCATE_scope___BreakOnlyEscapableBlock___is_break_block
= "scope::BreakOnlyEscapableBlock::(scope::EscapableBlock::is_break_block)";
135 val_t
scope___BreakOnlyEscapableBlock___is_break_block(val_t p0
);
136 typedef val_t (*scope___BreakOnlyEscapableBlock___is_break_block_t
)(val_t p0
);
137 static const char * const LOCATE_scope___BreakOnlyEscapableBlock___init
= "scope::BreakOnlyEscapableBlock::init";
138 void scope___BreakOnlyEscapableBlock___init(val_t p0
, val_t p1
, int* init_table
);
139 typedef void (*scope___BreakOnlyEscapableBlock___init_t
)(val_t p0
, val_t p1
, int* init_table
);
140 val_t
NEW_BreakOnlyEscapableBlock_scope___BreakOnlyEscapableBlock___init(val_t p0
);
141 static const char * const LOCATE_scope___EscapableClosure___closure
= "scope::EscapableClosure::closure";
142 val_t
scope___EscapableClosure___closure(val_t p0
);
143 typedef val_t (*scope___EscapableClosure___closure_t
)(val_t p0
);
144 static const char * const LOCATE_scope___EscapableClosure___is_break_block
= "scope::EscapableClosure::(scope::EscapableBlock::is_break_block)";
145 val_t
scope___EscapableClosure___is_break_block(val_t p0
);
146 typedef val_t (*scope___EscapableClosure___is_break_block_t
)(val_t p0
);
147 static const char * const LOCATE_scope___EscapableClosure___break_list
= "scope::EscapableClosure::(scope::EscapableBlock::break_list)";
148 val_t
scope___EscapableClosure___break_list(val_t p0
);
149 typedef val_t (*scope___EscapableClosure___break_list_t
)(val_t p0
);
150 static const char * const LOCATE_scope___EscapableClosure___continue_stype
= "scope::EscapableClosure::(scope::EscapableBlock::continue_stype)";
151 val_t
scope___EscapableClosure___continue_stype(val_t p0
);
152 typedef val_t (*scope___EscapableClosure___continue_stype_t
)(val_t p0
);
153 static const char * const LOCATE_scope___EscapableClosure___init
= "scope::EscapableClosure::init";
154 void scope___EscapableClosure___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
);
155 typedef void (*scope___EscapableClosure___init_t
)(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
);
156 val_t
NEW_EscapableClosure_scope___EscapableClosure___init(val_t p0
, val_t p1
, val_t p2
);
157 static const char * const LOCATE_scope___AEscapeExpr___escapable
= "scope::AEscapeExpr::escapable";
158 val_t
scope___AEscapeExpr___escapable(val_t p0
);
159 typedef val_t (*scope___AEscapeExpr___escapable_t
)(val_t p0
);
160 static const char * const LOCATE_scope___AEscapeExpr___kwname
= "scope::AEscapeExpr::kwname";
161 val_t
scope___AEscapeExpr___kwname(val_t p0
);
162 typedef val_t (*scope___AEscapeExpr___kwname_t
)(val_t p0
);
163 static const char * const LOCATE_scope___AEscapeExpr___compute_escapable_block
= "scope::AEscapeExpr::compute_escapable_block";
164 val_t
scope___AEscapeExpr___compute_escapable_block(val_t p0
, val_t p1
);
165 typedef val_t (*scope___AEscapeExpr___compute_escapable_block_t
)(val_t p0
, val_t p1
);
166 val_t
NEW_AEscapeExpr_parser_nodes___ANode___init(val_t p0
);
167 static const char * const LOCATE_scope___AContinueExpr___kwname
= "scope::AContinueExpr::(scope::AEscapeExpr::kwname)";
168 val_t
scope___AContinueExpr___kwname(val_t p0
);
169 typedef val_t (*scope___AContinueExpr___kwname_t
)(val_t p0
);
170 val_t
NEW_AContinueExpr_parser_prod___AContinueExpr___empty_init();
171 val_t
NEW_AContinueExpr_parser_prod___AContinueExpr___init_acontinueexpr(val_t p0
, val_t p1
, val_t p2
);
172 val_t
NEW_AContinueExpr_parser_nodes___ANode___init(val_t p0
);
173 static const char * const LOCATE_scope___ABreakExpr___kwname
= "scope::ABreakExpr::(scope::AEscapeExpr::kwname)";
174 val_t
scope___ABreakExpr___kwname(val_t p0
);
175 typedef val_t (*scope___ABreakExpr___kwname_t
)(val_t p0
);
176 val_t
NEW_ABreakExpr_parser_prod___ABreakExpr___empty_init();
177 val_t
NEW_ABreakExpr_parser_prod___ABreakExpr___init_abreakexpr(val_t p0
, val_t p1
, val_t p2
);
178 val_t
NEW_ABreakExpr_parser_nodes___ANode___init(val_t p0
);