Lines Matching refs:ir
132 static ir::ModifierFlags E2pToIrAccessFlags(es2panda_ModifierFlags e2pFlags) in E2pToIrAccessFlags()
134 ir::ModifierFlags irFlags {ir::ModifierFlags::NONE}; in E2pToIrAccessFlags()
135 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_PUBLIC) != 0 ? ir::ModifierFlags::PUBLIC : ir::ModifierFl… in E2pToIrAccessFlags()
136 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_PROTECTED) != 0 ? ir::ModifierFlags::PROTECTED : ir::Modi… in E2pToIrAccessFlags()
137 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_PRIVATE) != 0 ? ir::ModifierFlags::PRIVATE : ir::Modifier… in E2pToIrAccessFlags()
138 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_INTERNAL) != 0 ? ir::ModifierFlags::INTERNAL : ir::Modifi… in E2pToIrAccessFlags()
143 static ir::ModifierFlags E2pToIrMethodFlags(es2panda_ModifierFlags e2pFlags) in E2pToIrMethodFlags()
145 ir::ModifierFlags irFlags {ir::ModifierFlags::NONE}; in E2pToIrMethodFlags()
146 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_STATIC) != 0 ? ir::ModifierFlags::STATIC : ir::ModifierFl… in E2pToIrMethodFlags()
147 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_ABSTRACT) != 0 ? ir::ModifierFlags::ABSTRACT : ir::Modifi… in E2pToIrMethodFlags()
148 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_FINAL) != 0 ? ir::ModifierFlags::FINAL : ir::ModifierFlag… in E2pToIrMethodFlags()
149 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_NATIVE) != 0 ? ir::ModifierFlags::NATIVE : ir::ModifierFl… in E2pToIrMethodFlags()
150 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_OVERRIDE) != 0 ? ir::ModifierFlags::OVERRIDE : ir::Modifi… in E2pToIrMethodFlags()
155 static ir::ModifierFlags E2pToIrModifierFlags(es2panda_ModifierFlags e2pFlags) in E2pToIrModifierFlags()
157 ir::ModifierFlags irFlags {ir::ModifierFlags::NONE}; in E2pToIrModifierFlags()
160 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_ASYNC) != 0 ? ir::ModifierFlags::ASYNC : ir::ModifierFlag… in E2pToIrModifierFlags()
161 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_DECLARE) != 0 ? ir::ModifierFlags::DECLARE : ir::Modifier… in E2pToIrModifierFlags()
162 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_READONLY) != 0 ? ir::ModifierFlags::READONLY : ir::Modifi… in E2pToIrModifierFlags()
163 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_OPTIONAL) != 0 ? ir::ModifierFlags::OPTIONAL : ir::Modifi… in E2pToIrModifierFlags()
164 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_DEFINITE) != 0 ? ir::ModifierFlags::DEFINITE : ir::Modifi… in E2pToIrModifierFlags()
165 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_CONST) != 0 ? ir::ModifierFlags::CONST : ir::ModifierFlag… in E2pToIrModifierFlags()
167 …(e2pFlags & ES2PANDA_MODIFIER_CONSTRUCTOR) != 0 ? ir::ModifierFlags::CONSTRUCTOR : ir::ModifierFla… in E2pToIrModifierFlags()
169 …(e2pFlags & ES2PANDA_MODIFIER_SYNCHRONIZED) != 0 ? ir::ModifierFlags::SYNCHRONIZED : ir::ModifierF… in E2pToIrModifierFlags()
170 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_FUNCTIONAL) != 0 ? ir::ModifierFlags::FUNCTIONAL : ir::Mo… in E2pToIrModifierFlags()
171 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_IN) != 0 ? ir::ModifierFlags::IN : ir::ModifierFlags::NON… in E2pToIrModifierFlags()
172 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_OUT) != 0 ? ir::ModifierFlags::OUT : ir::ModifierFlags::N… in E2pToIrModifierFlags()
173 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_NULL_ASSIGNABLE) != 0 ? ir::ModifierFlags::NULL_ASSIGNABLE in E2pToIrModifierFlags()
174 : ir::ModifierFlags::NONE; in E2pToIrModifierFlags()
175 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_UNDEFINED_ASSIGNABLE) != 0 ? ir::ModifierFlags::UNDEFINED… in E2pToIrModifierFlags()
176 : ir::ModifierFlags::NONE; in E2pToIrModifierFlags()
177 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_EXPORT) != 0 ? ir::ModifierFlags::EXPORT : ir::ModifierFl… in E2pToIrModifierFlags()
178 …irFlags |= (e2pFlags & ES2PANDA_MODIFIER_SETTER) != 0 ? ir::ModifierFlags::SETTER : ir::ModifierFl… in E2pToIrModifierFlags()
179 … irFlags |= (e2pFlags & ES2PANDA_MODIFIER_DEFAULT_EXPORT) != 0 ? ir::ModifierFlags::DEFAULT_EXPORT in E2pToIrModifierFlags()
180 : ir::ModifierFlags::NONE; in E2pToIrModifierFlags()
185 static es2panda_ModifierFlags IrToE2pAccessFlags(es2panda_ModifierFlags e2pFlags, ir::ModifierFlags… in IrToE2pAccessFlags()
188 … (irFlags & ir::ModifierFlags::PUBLIC) != 0 ? e2pFlags | ES2PANDA_MODIFIER_PUBLIC : e2pFlags); in IrToE2pAccessFlags()
190 …(irFlags & ir::ModifierFlags::PROTECTED) != 0 ? e2pFlags | ES2PANDA_MODIFIER_PROTECTED : e2pFlags); in IrToE2pAccessFlags()
192 … (irFlags & ir::ModifierFlags::PRIVATE) != 0 ? e2pFlags | ES2PANDA_MODIFIER_PRIVATE : e2pFlags); in IrToE2pAccessFlags()
194 … (irFlags & ir::ModifierFlags::INTERNAL) != 0 ? e2pFlags | ES2PANDA_MODIFIER_INTERNAL : e2pFlags); in IrToE2pAccessFlags()
199 static es2panda_ModifierFlags IrToE2pMethodFlags(es2panda_ModifierFlags e2pFlags, ir::ModifierFlags… in IrToE2pMethodFlags()
202 … (irFlags & ir::ModifierFlags::STATIC) != 0 ? e2pFlags | ES2PANDA_MODIFIER_STATIC : e2pFlags); in IrToE2pMethodFlags()
204 … (irFlags & ir::ModifierFlags::ABSTRACT) != 0 ? e2pFlags | ES2PANDA_MODIFIER_ABSTRACT : e2pFlags); in IrToE2pMethodFlags()
206 (irFlags & ir::ModifierFlags::FINAL) != 0 ? e2pFlags | ES2PANDA_MODIFIER_FINAL : e2pFlags); in IrToE2pMethodFlags()
208 … (irFlags & ir::ModifierFlags::NATIVE) != 0 ? e2pFlags | ES2PANDA_MODIFIER_NATIVE : e2pFlags); in IrToE2pMethodFlags()
210 … (irFlags & ir::ModifierFlags::OVERRIDE) != 0 ? e2pFlags | ES2PANDA_MODIFIER_OVERRIDE : e2pFlags); in IrToE2pMethodFlags()
215 static es2panda_ModifierFlags IrToE2pModifierFlags(ir::ModifierFlags irFlags) in IrToE2pModifierFlags()
221 (irFlags & ir::ModifierFlags::ASYNC) != 0 ? e2pFlags | ES2PANDA_MODIFIER_ASYNC : e2pFlags); in IrToE2pModifierFlags()
223 … (irFlags & ir::ModifierFlags::DECLARE) != 0 ? e2pFlags | ES2PANDA_MODIFIER_DECLARE : e2pFlags); in IrToE2pModifierFlags()
225 … (irFlags & ir::ModifierFlags::READONLY) != 0 ? e2pFlags | ES2PANDA_MODIFIER_READONLY : e2pFlags); in IrToE2pModifierFlags()
227 … (irFlags & ir::ModifierFlags::OPTIONAL) != 0 ? e2pFlags | ES2PANDA_MODIFIER_OPTIONAL : e2pFlags); in IrToE2pModifierFlags()
229 … (irFlags & ir::ModifierFlags::DEFINITE) != 0 ? e2pFlags | ES2PANDA_MODIFIER_DEFINITE : e2pFlags); in IrToE2pModifierFlags()
231 (irFlags & ir::ModifierFlags::CONST) != 0 ? e2pFlags | ES2PANDA_MODIFIER_CONST : e2pFlags); in IrToE2pModifierFlags()
233 …(irFlags & ir::ModifierFlags::CONSTRUCTOR) != 0 ? e2pFlags | ES2PANDA_MODIFIER_CONSTRUCTOR : e2pFl… in IrToE2pModifierFlags()
235 …(irFlags & ir::ModifierFlags::SYNCHRONIZED) != 0 ? e2pFlags | ES2PANDA_MODIFIER_SYNCHRONIZED : e2p… in IrToE2pModifierFlags()
237 …(irFlags & ir::ModifierFlags::FUNCTIONAL) != 0 ? e2pFlags | ES2PANDA_MODIFIER_FUNCTIONAL : e2pFlag… in IrToE2pModifierFlags()
239 (irFlags & ir::ModifierFlags::IN) != 0 ? e2pFlags | ES2PANDA_MODIFIER_IN : e2pFlags); in IrToE2pModifierFlags()
241 (irFlags & ir::ModifierFlags::OUT) != 0 ? e2pFlags | ES2PANDA_MODIFIER_OUT : e2pFlags); in IrToE2pModifierFlags()
243 …(irFlags & ir::ModifierFlags::NULL_ASSIGNABLE) != 0 ? e2pFlags | ES2PANDA_MODIFIER_NULL_ASSIGNABLE… in IrToE2pModifierFlags()
244 …e2pFlags = static_cast<es2panda_ModifierFlags>((irFlags & ir::ModifierFlags::UNDEFINED_ASSIGNABLE)… in IrToE2pModifierFlags()
248 … (irFlags & ir::ModifierFlags::EXPORT) != 0 ? e2pFlags | ES2PANDA_MODIFIER_EXPORT : e2pFlags); in IrToE2pModifierFlags()
250 … (irFlags & ir::ModifierFlags::SETTER) != 0 ? e2pFlags | ES2PANDA_MODIFIER_SETTER : e2pFlags); in IrToE2pModifierFlags()
252 …(irFlags & ir::ModifierFlags::DEFAULT_EXPORT) != 0 ? e2pFlags | ES2PANDA_MODIFIER_DEFAULT_EXPORT :… in IrToE2pModifierFlags()
257 static ir::ScriptFunctionFlags E2pToIrTypeScriptFunctionFlags(es2panda_ScriptFunctionFlags e2pFlags) in E2pToIrTypeScriptFunctionFlags()
259 ir::ScriptFunctionFlags irFlags {ir::ScriptFunctionFlags::NONE}; in E2pToIrTypeScriptFunctionFlags()
260 …irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_GENERATOR) != 0 ? ir::ScriptFunctionFlags::GENERAT… in E2pToIrTypeScriptFunctionFlags()
261 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
262 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_ARROW) != 0 ? ir::ScriptFunctionFlags::ARROW in E2pToIrTypeScriptFunctionFlags()
263 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
264 …irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_CONSTRUCTOR) != 0 ? ir::ScriptFunctionFlags::CONST… in E2pToIrTypeScriptFunctionFlags()
265 … : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
266 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_METHOD) != 0 ? ir::ScriptFunctionFlags::METHOD in E2pToIrTypeScriptFunctionFlags()
267 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
268 …irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_STATIC_BLOCK) != 0 ? ir::ScriptFunctionFlags::STAT… in E2pToIrTypeScriptFunctionFlags()
269 … : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
270 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_PROXY) != 0 ? ir::ScriptFunctionFlags::PROXY in E2pToIrTypeScriptFunctionFlags()
271 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
272 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_GETTER) != 0 ? ir::ScriptFunctionFlags::GETTER in E2pToIrTypeScriptFunctionFlags()
273 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
274 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_SETTER) != 0 ? ir::ScriptFunctionFlags::SETTER in E2pToIrTypeScriptFunctionFlags()
275 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
277 ? ir::ScriptFunctionFlags::INSTANCE_EXTENSION_METHOD in E2pToIrTypeScriptFunctionFlags()
278 : ir::ScriptFunctionFlags::NONE; in E2pToIrTypeScriptFunctionFlags()
283 static ir::ScriptFunctionFlags E2pToIrScriptFunctionFlags(es2panda_ScriptFunctionFlags e2pFlags) in E2pToIrScriptFunctionFlags()
285 ir::ScriptFunctionFlags irFlags {ir::ScriptFunctionFlags::NONE}; in E2pToIrScriptFunctionFlags()
287 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_ASYNC) != 0 ? ir::ScriptFunctionFlags::ASYNC in E2pToIrScriptFunctionFlags()
288 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
289 …irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_EXPRESSION) != 0 ? ir::ScriptFunctionFlags::EXPRES… in E2pToIrScriptFunctionFlags()
290 … : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
291 … irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_OVERLOAD) != 0 ? ir::ScriptFunctionFlags::OVERLOAD in E2pToIrScriptFunctionFlags()
292 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
293 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_HIDDEN) != 0 ? ir::ScriptFunctionFlags::HIDDEN in E2pToIrScriptFunctionFlags()
294 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
296 ? ir::ScriptFunctionFlags::IMPLICIT_SUPER_CALL_NEEDED in E2pToIrScriptFunctionFlags()
297 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
299 …(e2pFlags & ES2PANDA_SCRIPT_FUNCTION_ENUM) != 0 ? ir::ScriptFunctionFlags::ENUM : ir::ScriptFuncti… in E2pToIrScriptFunctionFlags()
300 … irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_EXTERNAL) != 0 ? ir::ScriptFunctionFlags::EXTERNAL in E2pToIrScriptFunctionFlags()
301 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
302 irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_THROWS) != 0 ? ir::ScriptFunctionFlags::THROWS in E2pToIrScriptFunctionFlags()
303 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
304 … irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_RETHROWS) != 0 ? ir::ScriptFunctionFlags::RETHROWS in E2pToIrScriptFunctionFlags()
305 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
307 ? ir::ScriptFunctionFlags::DEFAULT_PARAM_PROXY in E2pToIrScriptFunctionFlags()
308 : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
309 …irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_ENTRY_POINT) != 0 ? ir::ScriptFunctionFlags::ENTRY… in E2pToIrScriptFunctionFlags()
310 … : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
311 …irFlags |= (e2pFlags & ES2PANDA_SCRIPT_FUNCTION_HAS_RETURN) != 0 ? ir::ScriptFunctionFlags::HAS_RE… in E2pToIrScriptFunctionFlags()
312 … : ir::ScriptFunctionFlags::NONE; in E2pToIrScriptFunctionFlags()
318 ir::ScriptFunctionFlags irFlags) in IrToE2pTypeScriptFunctionFlags()
321 …(irFlags & ir::ScriptFunctionFlags::GENERATOR) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_GENERATO… in IrToE2pTypeScriptFunctionFlags()
323 …(irFlags & ir::ScriptFunctionFlags::ARROW) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_ARROW : e2pF… in IrToE2pTypeScriptFunctionFlags()
324 …e2pFlags = static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::CONSTRUCT… in IrToE2pTypeScriptFunctionFlags()
328 …(irFlags & ir::ScriptFunctionFlags::METHOD) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_METHOD : e2… in IrToE2pTypeScriptFunctionFlags()
329 …e2pFlags = static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::STATIC_BL… in IrToE2pTypeScriptFunctionFlags()
333 …(irFlags & ir::ScriptFunctionFlags::PROXY) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_PROXY : e2pF… in IrToE2pTypeScriptFunctionFlags()
335 …(irFlags & ir::ScriptFunctionFlags::GETTER) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_GETTER : e2… in IrToE2pTypeScriptFunctionFlags()
337 …(irFlags & ir::ScriptFunctionFlags::SETTER) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_SETTER : e2… in IrToE2pTypeScriptFunctionFlags()
339 …static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::INSTANCE_EXTENSION_M… in IrToE2pTypeScriptFunctionFlags()
346 static es2panda_ScriptFunctionFlags IrToE2pScriptFunctionFlags(ir::ScriptFunctionFlags irFlags) in IrToE2pScriptFunctionFlags()
351 …(irFlags & ir::ScriptFunctionFlags::ASYNC) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_ASYNC : e2pF… in IrToE2pScriptFunctionFlags()
352 …e2pFlags = static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::EXPRESSIO… in IrToE2pScriptFunctionFlags()
356 …(irFlags & ir::ScriptFunctionFlags::OVERLOAD) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_OVERLOAD … in IrToE2pScriptFunctionFlags()
358 …(irFlags & ir::ScriptFunctionFlags::HIDDEN) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_HIDDEN : e2… in IrToE2pScriptFunctionFlags()
360 …static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::IMPLICIT_SUPER_CALL_… in IrToE2pScriptFunctionFlags()
364 …(irFlags & ir::ScriptFunctionFlags::ENUM) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_ENUM : e2pFla… in IrToE2pScriptFunctionFlags()
366 …(irFlags & ir::ScriptFunctionFlags::EXTERNAL) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_EXTERNAL … in IrToE2pScriptFunctionFlags()
368 …(irFlags & ir::ScriptFunctionFlags::THROWS) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_THROWS : e2… in IrToE2pScriptFunctionFlags()
370 …(irFlags & ir::ScriptFunctionFlags::RETHROWS) != 0 ? e2pFlags | ES2PANDA_SCRIPT_FUNCTION_RETHROWS … in IrToE2pScriptFunctionFlags()
371 …e2pFlags = static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::DEFAULT_P… in IrToE2pScriptFunctionFlags()
374 …e2pFlags = static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::ENTRY_POI… in IrToE2pScriptFunctionFlags()
377 …e2pFlags = static_cast<es2panda_ScriptFunctionFlags>((irFlags & ir::ScriptFunctionFlags::HAS_RETUR… in IrToE2pScriptFunctionFlags()
781 auto *node = reinterpret_cast<ir::AstNode *>(ast); in AstNodeType()
791 auto *node = reinterpret_cast<ir::AstNode *>(ast); in AstNodeDecorators()
803 auto *node = reinterpret_cast<ir::AstNode *>(ast); in AstNodeModifierFlags()
812 auto *node = reinterpret_cast<ir::AstNode *>(ast); in AstNodeSetDecorators()
814 ArenaVector<ir::Decorator *> decoratorsVector {allocator->Adapter()}; in AstNodeSetDecorators()
817 decoratorsVector.push_back(reinterpret_cast<ir::AstNode *>(decorators[i])->AsDecorator()); in AstNodeSetDecorators()
824 auto *node = reinterpret_cast<ir::AstNode *>(ast); in AstNodeSetType()
836 auto *node = reinterpret_cast<ir::AstNode *>(ast); in AstNodeForEach()
838 …node->IterateRecursively([=](ir::AstNode *child) { func(reinterpret_cast<es2panda_AstNode *>(child… in AstNodeForEach()
845 auto *node = reinterpret_cast<ir::AstNode *>(ast); \
897 auto *func = reinterpret_cast<ir::AstNode *>(scriptFunction)->AsScriptFunction(); in IS()
900 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ArrowFunctionExpression>(allocator,… in IS()
905 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsArrowFunctionExpression(); in ArrowFunctionExpressionScriptFunction()
913 auto *leftExpr = reinterpret_cast<ir::AstNode *>(expr)->AsExpression(); in CreateAsExpression()
914 auto *tp = reinterpret_cast<ir::AstNode *>(typeAnnotation)->AsExpression()->AsTypeNode(); in CreateAsExpression()
917 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::TSAsExpression>(leftExpr, tp, isCon… in CreateAsExpression()
922 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSAsExpression(); in AsExpressionExpr()
928 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSAsExpression(); in AsExpressionTypeAnnotation()
934 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSAsExpression(); in AsExpressionIsConst()
940 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSAsExpression(); in AsExpressionSetExpr()
941 auto *newExpr = reinterpret_cast<ir::AstNode *>(expr)->AsExpression(); in AsExpressionSetExpr()
947 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSAsExpression(); in AsExpressionSetTypeAnnotation()
948 auto *tp = reinterpret_cast<ir::AstNode *>(typeAnnotation)->AsExpression()->AsTypeNode(); in AsExpressionSetTypeAnnotation()
976 auto *leftNode = reinterpret_cast<ir::AstNode *>(left)->AsExpression(); in CreateAssignmentExpression()
977 auto *rightNode = reinterpret_cast<ir::AstNode *>(right)->AsExpression(); in CreateAssignmentExpression()
979 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::AssignmentExpression>(leftNode, rig… in CreateAssignmentExpression()
984 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsAssignmentExpression(); in AssignmentExpressionLeft()
990 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsAssignmentExpression(); in AssignmentExpressionRight()
996 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsAssignmentExpression(); in AssignmentExpressionOperatorType()
1002 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsAssignmentExpression(); in AssignmentExpressionSetOperatorType()
1040 auto *leftExpr = reinterpret_cast<ir::AstNode *>(left)->AsExpression(); in CreateBinaryExpression()
1041 auto *rightExpr = reinterpret_cast<ir::AstNode *>(right)->AsExpression(); in CreateBinaryExpression()
1044 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::BinaryExpression>(leftExpr, rightEx… in CreateBinaryExpression()
1049 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsBinaryExpression(); in BinaryExpressionLeft()
1055 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsBinaryExpression(); in BinaryExpressionRight()
1061 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsBinaryExpression(); in BinaryExpressionOperator()
1067 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsBinaryExpression(); in BinaryExpressionSetOperator()
1077 ArenaVector<ir::Statement *> stmts {allocator->Adapter()}; in CreateBlockStatement()
1078 auto block = allocator->New<ir::BlockStatement>(allocator, std::move(stmts)); in CreateBlockStatement()
1084 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsBlockStatement(); in BlockStatementStatements()
1091 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsBlockStatement(); in BlockStatementAddStatement()
1092 auto *stmt = reinterpret_cast<ir::AstNode *>(statement)->AsBlockStatement(); in BlockStatementAddStatement()
1102 auto *calleeNode = reinterpret_cast<ir::AstNode *>(callee)->AsExpression(); in CreateCallExpression()
1104 ir::TSTypeParameterInstantiation *typeArgs = nullptr; in CreateCallExpression()
1106 typeArgs = reinterpret_cast<ir::AstNode *>(typeArguments)->AsTSTypeParameterInstantiation(); in CreateCallExpression()
1109 ArenaVector<ir::Expression *> args {allocator->Adapter()}; in CreateCallExpression()
1112 args.push_back(reinterpret_cast<ir::AstNode *>(arguments[i])->AsExpression()); in CreateCallExpression()
1115 allocator->New<ir::CallExpression>(calleeNode, std::move(args), typeArgs, isOptional)); in CreateCallExpression()
1120 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsCallExpression(); in CallExpressionCallee()
1126 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsCallExpression(); in CallExpressionTypeArguments()
1132 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsCallExpression(); in CallExpressionArguments()
1139 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsCallExpression(); in CallExpressionIsOptional()
1145 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsCallExpression(); in CallExpressionSetTypeArguments()
1146 … auto *typeArgs = reinterpret_cast<ir::AstNode *>(typeArguments)->AsTSTypeParameterInstantiation(); in CallExpressionSetTypeArguments()
1154 auto *childExpr = reinterpret_cast<ir::AstNode *>(child)->AsExpression(); in CreateChainExpression()
1156 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ChainExpression>(childExpr)); in CreateChainExpression()
1161 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsChainExpression(); in ChainExpressionChild()
1169 auto *dfn = reinterpret_cast<ir::AstNode *>(definition)->AsClassDefinition(); in CreateClassDeclaration()
1171 … return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ClassDeclaration>(dfn, allocator)); in CreateClassDeclaration()
1176 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDeclaration(); in ClassDeclarationDefinition()
1185 auto *id = reinterpret_cast<ir::AstNode *>(identifier)->AsIdentifier(); in CreateClassDefinition()
1188 allocator->New<ir::ClassDefinition>(allocator, id, ir::ClassDefinitionModifiers::NONE, in CreateClassDefinition()
1195 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionIdentifier()
1201 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionTypeParameters()
1207 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSuperClass()
1213 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionImplements()
1221 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionConstructor()
1227 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionBody()
1235 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSetIdentifier()
1236 auto *id = reinterpret_cast<ir::AstNode *>(identifier)->AsIdentifier(); in ClassDefinitionSetIdentifier()
1242 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSetTypeParameters()
1243 auto *tpd = reinterpret_cast<ir::AstNode *>(typeParams)->AsTSTypeParameterDeclaration(); in ClassDefinitionSetTypeParameters()
1249 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSetSuperClass()
1250 auto *super = reinterpret_cast<ir::AstNode *>(superClass)->AsExpression(); in ClassDefinitionSetSuperClass()
1256 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSetImplements()
1261 implVec.push_back(reinterpret_cast<ir::AstNode *>(implements[i])->AsTSClassImplements()); in ClassDefinitionSetImplements()
1267 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionAddImplements()
1269 implVec.push_back(reinterpret_cast<ir::AstNode *>(implements)->AsTSClassImplements()); in ClassDefinitionAddImplements()
1274 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSetConstructor()
1275 auto *ctor = reinterpret_cast<ir::AstNode *>(constructor)->AsMethodDefinition(); in ClassDefinitionSetConstructor()
1281 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionSetBody()
1286 bodyVec.push_back(reinterpret_cast<ir::AstNode *>(body[i])); in ClassDefinitionSetBody()
1292 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassDefinition(); in ClassDefinitionAddToBody()
1293 auto *elem = reinterpret_cast<ir::AstNode *>(bodyElem); in ClassDefinitionAddToBody()
1295 bodyVec.push_back(reinterpret_cast<ir::AstNode *>(elem)); in ClassDefinitionAddToBody()
1300 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassElement(); in ClassElementKey()
1306 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassElement(); in ClassElementValue()
1315 auto *expr = reinterpret_cast<ir::AstNode *>(expression)->AsExpression(); in CreateClassImplementsClause()
1318 … : reinterpret_cast<ir::AstNode *>(typeArguments)->AsTSTypeParameterInstantiation(); in CreateClassImplementsClause()
1320 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::TSClassImplements>(expr, targs)); in CreateClassImplementsClause()
1325 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSClassImplements(); in ClassImplementsClauseExpression()
1331 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSClassImplements(); in ClassImplementsClauseTypeArguments()
1341 auto *ekey = reinterpret_cast<ir::AstNode *>(key)->AsExpression(); in CreateClassProperty()
1342 …auto *evalue = value == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(value)->AsExpression(); in CreateClassProperty()
1345 … : reinterpret_cast<ir::AstNode *>(typeAnnotation)->AsExpression()->AsTypeNode(); in CreateClassProperty()
1349 allocator->New<ir::ClassProperty>(ekey, evalue, tpAnn, modifiers, allocator, isComputed)); in CreateClassProperty()
1354 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsClassProperty(); in ClassPropertyTypeAnnotation()
1362 auto *expr = reinterpret_cast<ir::AstNode *>(expression)->AsExpression(); in CreateExpressionStatement()
1364 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ExpressionStatement>(expr)); in CreateExpressionStatement()
1369 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsExpressionStatement(); in ExpressionStatementExpression()
1377 auto *func = reinterpret_cast<ir::AstNode *>(function)->AsScriptFunction(); in CreateFunctionDeclaration()
1379 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::FunctionDeclaration>(allocator, fun… in CreateFunctionDeclaration()
1384 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsFunctionDeclaration(); in FunctionDeclarationFunction()
1392 auto *func = reinterpret_cast<ir::AstNode *>(function)->AsScriptFunction(); in CreateFunctionExpression()
1394 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::FunctionExpression>(func)); in CreateFunctionExpression()
1399 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsFunctionExpression(); in FunctionExpressionFunction()
1411 …typeParams == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(typeParams)->AsTSTypeParameterDe… in CreateFunctionTypeNode()
1413 …returnType == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(returnType)->AsExpression()->AsT… in CreateFunctionTypeNode()
1416 ArenaVector<ir::Expression *> par {allocator->Adapter()}; in CreateFunctionTypeNode()
1419 par.push_back(reinterpret_cast<ir::AstNode *>(params[i])->AsExpression()); in CreateFunctionTypeNode()
1422 auto signature = ir::FunctionSignature(tpar, std::move(par), tret); in CreateFunctionTypeNode()
1423 auto func = allocator->New<ir::ETSFunctionType>(std::move(signature), flags); in CreateFunctionTypeNode()
1429 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSFunctionType(); in FunctionTypeNodeTypeParams()
1435 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSFunctionType(); in FunctionTypeNodeParams()
1443 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSFunctionType(); in FunctionTypeNodeReturnType()
1449 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSFunctionType(); in FunctionTypeNodeFlags()
1461 … : reinterpret_cast<ir::AstNode *>(typeAnnotations)->AsExpression()->AsTypeNode(); in CreateIdentifier()
1463 auto *res = allocator->New<ir::Identifier>(util::StringView {nameCopy}, tpAnn, allocator); in CreateIdentifier()
1471 auto *id = reinterpret_cast<ir::AstNode *>(identifier); in IdentifierName()
1479 auto *id = reinterpret_cast<ir::AstNode *>(identifier)->AsIdentifier(); in IdentifierTypeAnnotation()
1485 auto *id = reinterpret_cast<ir::AstNode *>(identifier)->AsIdentifier(); in IdentifierVariable()
1492 auto *id = reinterpret_cast<ir::AstNode *>(identifier)->AsIdentifier(); in IdentifierSetVariable()
1503 auto *t = reinterpret_cast<ir::AstNode *>(test)->AsExpression(); in CreateIfStatement()
1504 auto *conseq = reinterpret_cast<ir::AstNode *>(consequent)->AsStatement(); in CreateIfStatement()
1505 auto *alt = reinterpret_cast<ir::AstNode *>(alternate)->AsStatement(); in CreateIfStatement()
1507 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::IfStatement>(t, conseq, alt)); in CreateIfStatement()
1512 auto *ifStat = reinterpret_cast<ir::AstNode *>(identifier)->AsIfStatement(); in IfStatementTest()
1519 auto *ifStat = reinterpret_cast<ir::AstNode *>(identifier)->AsIfStatement(); in IfStatementConsequent()
1526 auto *ifStat = reinterpret_cast<ir::AstNode *>(identifier)->AsIfStatement(); in IfStatementAlternate()
1536 auto *src = reinterpret_cast<ir::AstNode *>(source)->AsStringLiteral(); in CreateImportDeclaration()
1538 ArenaVector<ir::AstNode *> specs {allocator->Adapter()}; in CreateImportDeclaration()
1541 specs.push_back(reinterpret_cast<ir::AstNode *>(specifiers[i])); in CreateImportDeclaration()
1544 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ImportDeclaration>(src, std::move(s… in CreateImportDeclaration()
1549 auto *decl = reinterpret_cast<ir::AstNode *>(ast)->AsImportDeclaration(); in ImportDeclarationSource()
1556 auto *decl = reinterpret_cast<ir::AstNode *>(ast)->AsImportDeclaration(); in ImportDeclarationSpecifiers()
1568 auto *src = reinterpret_cast<ir::AstNode *>(source)->AsExpression(); in CreateImportExpression()
1570 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ImportExpression>(src)); in CreateImportExpression()
1575 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsImportExpression(); in ImportExpressionSource()
1584 auto *irImported = reinterpret_cast<ir::AstNode *>(imported)->AsIdentifier(); in CreateImportSpecifier()
1585 auto *irLocal = reinterpret_cast<ir::AstNode *>(local)->AsIdentifier(); in CreateImportSpecifier()
1587 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ImportSpecifier>(irImported, irLoca… in CreateImportSpecifier()
1592 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsImportSpecifier(); in ImportSpecifierImported()
1598 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsImportSpecifier(); in ImportSpecifierLocal()
1602 static ir::MemberExpressionKind E2pToIrMemberExpressionKind(es2panda_MemberExpressionKind e2pKind) in E2pToIrMemberExpressionKind()
1604 ir::MemberExpressionKind irKind = ir::MemberExpressionKind::NONE; in E2pToIrMemberExpressionKind()
1605 …irKind |= (e2pKind & ES2PANDA_MEMBER_EXPRESSION_KIND_ELEMENT_ACCESS) != 0 ? ir::MemberExpressionKi… in E2pToIrMemberExpressionKind()
1606 … : ir::MemberExpressionKind::NONE; in E2pToIrMemberExpressionKind()
1608 ? ir::MemberExpressionKind::PROPERTY_ACCESS in E2pToIrMemberExpressionKind()
1609 : ir::MemberExpressionKind::NONE; in E2pToIrMemberExpressionKind()
1610 …irKind |= (e2pKind & ES2PANDA_MEMBER_EXPRESSION_KIND_GETTER) != 0 ? ir::MemberExpressionKind::GETT… in E2pToIrMemberExpressionKind()
1611 … : ir::MemberExpressionKind::NONE; in E2pToIrMemberExpressionKind()
1612 …irKind |= (e2pKind & ES2PANDA_MEMBER_EXPRESSION_KIND_SETTER) != 0 ? ir::MemberExpressionKind::SETT… in E2pToIrMemberExpressionKind()
1613 … : ir::MemberExpressionKind::NONE; in E2pToIrMemberExpressionKind()
1618 static es2panda_MemberExpressionKind IrToE2pMemberExpressionKind(ir::MemberExpressionKind irKind) in IrToE2pMemberExpressionKind()
1621 …e2pKind = static_cast<es2panda_MemberExpressionKind>((irKind & ir::MemberExpressionKind::ELEMENT_A… in IrToE2pMemberExpressionKind()
1624 …e2pKind = static_cast<es2panda_MemberExpressionKind>((irKind & ir::MemberExpressionKind::PROPERTY_… in IrToE2pMemberExpressionKind()
1628 …(irKind & ir::MemberExpressionKind::GETTER) != 0 ? e2pKind | ES2PANDA_MEMBER_EXPRESSION_KIND_GETTE… in IrToE2pMemberExpressionKind()
1630 …(irKind & ir::MemberExpressionKind::SETTER) != 0 ? e2pKind | ES2PANDA_MEMBER_EXPRESSION_KIND_SETTE… in IrToE2pMemberExpressionKind()
1641 auto irObject = reinterpret_cast<ir::AstNode *>(object)->AsExpression(); in CreateMemberExpression()
1642 auto irProperty = reinterpret_cast<ir::AstNode *>(property)->AsExpression(); in CreateMemberExpression()
1646 allocator->New<ir::MemberExpression>(irObject, irProperty, irKind, isComputed, isOptional)); in CreateMemberExpression()
1651 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMemberExpression(); in MemberExpressionObject()
1657 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMemberExpression(); in MemberExpressionProperty()
1663 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMemberExpression(); in MemberExpressionKind()
1669 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMemberExpression(); in MemberExpressionIsComputed()
1675 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMemberExpression(); in MemberExpressionIsOptional()
1680 ir::MethodDefinitionKind kind;
1685 {ir::MethodDefinitionKind::CONSTRUCTOR, "constructor"},
1686 {ir::MethodDefinitionKind::METHOD, "method"},
1687 {ir::MethodDefinitionKind::EXTENSION_METHOD, "extension method"},
1688 {ir::MethodDefinitionKind::GET, "get"},
1689 {ir::MethodDefinitionKind::SET, "set"},
1692 static ir::MethodDefinitionKind StrToMethodDefinitionKind(char const *str) in StrToMethodDefinitionKind()
1699 return ir::MethodDefinitionKind::NONE; in StrToMethodDefinitionKind()
1702 static char const *MethodDefinitionKindToStr(ir::MethodDefinitionKind kind) in MethodDefinitionKindToStr()
1719 auto *irKey = reinterpret_cast<ir::AstNode *>(key)->AsExpression(); in CreateMethodDefinition()
1720 auto *irValue = reinterpret_cast<ir::AstNode *>(value)->AsExpression(); in CreateMethodDefinition()
1724 … allocator->New<ir::MethodDefinition>(irKind, irKey, irValue, irFlags, allocator, isComputed)); in CreateMethodDefinition()
1729 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionKind()
1735 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionKey()
1741 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionValue()
1747 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionModifiers()
1753 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionIsComputed()
1759 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionOverloads()
1767 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionSetOverloads()
1768 ArenaVector<ir::MethodDefinition *> irOverloads {node->Overloads().get_allocator()}; in MethodDefinitionSetOverloads()
1772 irOverloads.push_back(reinterpret_cast<ir::AstNode *>(overloads[i])->AsMethodDefinition()); in MethodDefinitionSetOverloads()
1779 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsMethodDefinition(); in MethodDefinitionAddOverload()
1780 auto *irOverload = reinterpret_cast<ir::AstNode *>(overload)->AsMethodDefinition(); in MethodDefinitionAddOverload()
1791 auto *irTyperef = reinterpret_cast<ir::AstNode *>(typeReference)->AsExpression(); in CreateNewClassInstanceExpression()
1793 ArenaVector<ir::Expression *> args {allocator->Adapter()}; in CreateNewClassInstanceExpression()
1796 args.push_back(reinterpret_cast<ir::AstNode *>(arguments[i])->AsExpression()); in CreateNewClassInstanceExpression()
1800 …classDefinition == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(classDefinition)->AsClassDe… in CreateNewClassInstanceExpression()
1803 allocator->New<ir::ETSNewClassInstanceExpression>(irTyperef, std::move(args), irClassdef)); in CreateNewClassInstanceExpression()
1808 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewClassInstanceExpression(); in NewClassInstanceExpressionTypeReference()
1814 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewClassInstanceExpression(); in NewClassInstanceExpressionArguments()
1823 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewClassInstanceExpression(); in NewClassInstanceExpressionClassDefinition()
1833 auto *irTyperef = reinterpret_cast<ir::AstNode *>(typeReference)->AsExpression()->AsTypeNode(); in CreateNewArrayInstanceExpression()
1834 auto *irDim = reinterpret_cast<ir::AstNode *>(dimension)->AsExpression(); in CreateNewArrayInstanceExpression()
1837 allocator->New<ir::ETSNewArrayInstanceExpression>(allocator, irTyperef, irDim)); in CreateNewArrayInstanceExpression()
1842 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewArrayInstanceExpression(); in NewArrayInstanceExpressionTypeReference()
1848 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewArrayInstanceExpression(); in NewArrayInstanceExpressionDimension()
1858 auto *irTyperef = reinterpret_cast<ir::AstNode *>(typeReference)->AsExpression()->AsTypeNode(); in CreateNewMultiDimArrayInstanceExpression()
1860 ArenaVector<ir::Expression *> irDims {allocator->Adapter()}; in CreateNewMultiDimArrayInstanceExpression()
1863 irDims.push_back(reinterpret_cast<ir::AstNode *>(dimensions[i])->AsExpression()); in CreateNewMultiDimArrayInstanceExpression()
1867 allocator->New<ir::ETSNewMultiDimArrayInstanceExpression>(irTyperef, std::move(irDims))); in CreateNewMultiDimArrayInstanceExpression()
1872 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewMultiDimArrayInstanceExpression(); in NewMultiDimArrayInstanceExpressionTypeReference()
1878 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSNewMultiDimArrayInstanceExpression(); in NewMultiDimArrayInstanceExpressionDimensions()
1891 auto *irIdentOrSpreadRaw = reinterpret_cast<ir::AstNode *>(identifierOrSpread)->AsExpression(); in CreateParameterDeclaration()
1892 ir::AnnotatedExpression *irIdentOrSpread; in CreateParameterDeclaration()
1902 … initializer == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(initializer)->AsExpression(); in CreateParameterDeclaration()
1905 allocator->New<ir::ETSParameterExpression>(irIdentOrSpread, irInitializer)); in CreateParameterDeclaration()
1910 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSParameterExpression(); in ParameterDeclarationIdentifierOrSpread()
1912 ir::AstNode *res; in ParameterDeclarationIdentifierOrSpread()
1923 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSParameterExpression(); in ParameterDeclarationInitializer()
1928 ir::PrimitiveType type;
1933 {ir::PrimitiveType::BYTE, "byte"},
1934 {ir::PrimitiveType::INT, "int"},
1935 {ir::PrimitiveType::LONG, "long"},
1936 {ir::PrimitiveType::SHORT, "short"},
1937 {ir::PrimitiveType::FLOAT, "float"},
1938 {ir::PrimitiveType::DOUBLE, "double"},
1939 {ir::PrimitiveType::BOOLEAN, "boolean"},
1940 {ir::PrimitiveType::CHAR, "char"},
1941 {ir::PrimitiveType::VOID, "void"},
1944 static ir::PrimitiveType StrToPrimitiveType(char const *str) in StrToPrimitiveType()
1951 return ir::PrimitiveType::VOID; in StrToPrimitiveType()
1954 static char const *PrimitiveTypeToStr(ir::PrimitiveType type) in PrimitiveTypeToStr()
1970 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ETSPrimitiveType>(tp)); in CreatePrimitiveTypeNode()
1975 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSPrimitiveType(); in PrimitiveTypeNodeType()
1983 …auto *irArg = argument == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(argument)->AsExpress… in CreateReturnStatement()
1985 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ReturnStatement>(irArg)); in CreateReturnStatement()
1990 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsReturnStatement(); in ReturnStatementArgument()
1996 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsReturnStatement(); in ReturnStatementReturnType()
2009 …typeParams == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(typeParams)->AsTSTypeParameterDe… in CreateScriptFunction()
2011 ArenaVector<ir::Expression *> irParams {allocator->Adapter()}; in CreateScriptFunction()
2014 irParams.push_back(reinterpret_cast<ir::AstNode *>(params[i])->AsExpression()); in CreateScriptFunction()
2020 : reinterpret_cast<ir::AstNode *>(returnTypeAnnotation)->AsExpression()->AsTypeNode(); in CreateScriptFunction()
2025 ir::FunctionSignature sig(irTypeParams, std::move(irParams), irReturnTypeAnnotation); in CreateScriptFunction()
2026 …auto func = allocator->New<ir::ScriptFunction>(std::move(sig), nullptr, irFunctionFlags, irModifie… in CreateScriptFunction()
2033 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionTypeParams()
2039 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionParams()
2048 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionReturnTypeAnnotation()
2054 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionScriptFunctionFlags()
2060 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionIsDeclare()
2066 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionIdentifier()
2072 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionBody()
2078 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionSetIdentifier()
2079 auto *id = reinterpret_cast<ir::AstNode *>(identifier)->AsIdentifier(); in ScriptFunctionSetIdentifier()
2086 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionSetBody()
2087 auto *irBody = reinterpret_cast<ir::AstNode *>(body); in ScriptFunctionSetBody()
2094 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScriptFunctionSetParams()
2100 irParams.push_back(reinterpret_cast<ir::AstNode *>(params[i])->AsExpression()); in ScriptFunctionSetParams()
2106 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsScriptFunction(); in ScripFunctionAddParam()
2107 auto *irParam = reinterpret_cast<ir::AstNode *>(param)->AsExpression(); in ScripFunctionAddParam()
2118 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::StringLiteral>(str)); in CreateStringLiteral()
2125 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsStringLiteral(); in StringLiteralString()
2134 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ThisExpression>()); in CreateThisExpression()
2142 auto *nm = reinterpret_cast<ir::AstNode *>(name)->AsIdentifier(); in CreateTypeParameter()
2144 …constraint == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(constraint)->AsExpression()->AsT… in CreateTypeParameter()
2146 …defaultType == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(defaultType)->AsExpression()->A… in CreateTypeParameter()
2148 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::TSTypeParameter>(nm, constr, dflt)); in CreateTypeParameter()
2153 auto *tp = reinterpret_cast<ir::AstNode *>(ast)->AsTSTypeParameter(); in TypeParameterName()
2159 auto *tp = reinterpret_cast<ir::AstNode *>(ast)->AsTSTypeParameter(); in TypeParameterConstraint()
2165 auto *tp = reinterpret_cast<ir::AstNode *>(ast)->AsTSTypeParameter(); in TypeParameterDefaultType()
2174 ArenaVector<ir::TSTypeParameter *> params {allocator->Adapter()}; in CreateTypeParameterDeclaration()
2175 auto typeParams = allocator->New<ir::TSTypeParameterDeclaration>(std::move(params), 0); in CreateTypeParameterDeclaration()
2181 auto *tpd = reinterpret_cast<ir::AstNode *>(ast)->AsTSTypeParameterDeclaration(); in TypeParameterDeclarationAddTypeParameter()
2182 auto *param = reinterpret_cast<ir::AstNode *>(typeParameter)->AsTSTypeParameter(); in TypeParameterDeclarationAddTypeParameter()
2189 auto *tpd = reinterpret_cast<ir::AstNode const *>(ast)->AsTSTypeParameterDeclaration(); in TypeParameterDeclarationTypeParameters()
2201 ArenaVector<ir::TypeNode *> params {allocator->Adapter()}; in CreateTypeParameterInstantiation()
2204 …params.push_back(reinterpret_cast<ir::AstNode *>(typeParameters[i])->AsExpression()->AsTypeNode()); in CreateTypeParameterInstantiation()
2206 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::TSTypeParameterInstantiation>(std::… in CreateTypeParameterInstantiation()
2211 auto *tpi = reinterpret_cast<ir::AstNode const *>(ast)->AsTSTypeParameterInstantiation(); in TypeParameterInstantiationTypeParameters()
2221 auto *irPart = reinterpret_cast<ir::AstNode *>(part)->AsETSTypeReferencePart(); in CreateTypeReferenceNode()
2223 return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ETSTypeReference>(irPart)); in CreateTypeReferenceNode()
2228 auto *node = reinterpret_cast<ir::AstNode const *>(ast)->AsETSTypeReference(); in TypeReferenceNodePart()
2237 auto *irName = reinterpret_cast<ir::AstNode *>(name)->AsExpression(); in CreateTypeReferencePart()
2240 … : reinterpret_cast<ir::AstNode *>(typeArguments)->AsTSTypeParameterInstantiation(); in CreateTypeReferencePart()
2241 …auto *irPrev = previous == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(previous)->AsETSTyp… in CreateTypeReferencePart()
2243 …return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::ETSTypeReferencePart>(irName, irTyp… in CreateTypeReferencePart()
2248 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSTypeReferencePart(); in TypeReferencePartName()
2254 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSTypeReferencePart(); in TypeReferencePartTypeArguments()
2260 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsETSTypeReferencePart(); in TypeReferencePartPrevious()
2269 ArenaVector<ir::TypeNode *> irTypes {allocator->Adapter()}; in CreateUnionTypeNode()
2272 irTypes.push_back(reinterpret_cast<ir::AstNode *>(types[i])->AsExpression()->AsTypeNode()); in CreateUnionTypeNode()
2275 … return reinterpret_cast<es2panda_AstNode *>(allocator->New<ir::TSUnionType>(std::move(irTypes))); in CreateUnionTypeNode()
2280 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsTSUnionType(); in UnionTypeNodeTypes()
2288 ir::VariableDeclaration::VariableDeclarationKind kind;
2293 {ir::VariableDeclaration::VariableDeclarationKind::CONST, "const"},
2294 {ir::VariableDeclaration::VariableDeclarationKind::LET, "let"},
2295 {ir::VariableDeclaration::VariableDeclarationKind::VAR, "var"},
2298 static ir::VariableDeclaration::VariableDeclarationKind StrToVariableDeclarationKind(char const *st… in StrToVariableDeclarationKind()
2310 static char const *VariableDeclarationKindToStr(ir::VariableDeclaration::VariableDeclarationKind ki… in VariableDeclarationKindToStr()
2328 ArenaVector<ir::VariableDeclarator *> irDeclarators {allocator->Adapter()}; in CreateVariableDeclaration()
2331 … irDeclarators.push_back(reinterpret_cast<ir::AstNode *>(declarators[i])->AsVariableDeclarator()); in CreateVariableDeclaration()
2335 … allocator->New<ir::VariableDeclaration>(irKind, allocator, std::move(irDeclarators), isDeclare)); in CreateVariableDeclaration()
2340 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsVariableDeclaration(); in VariableDeclarationKind()
2346 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsVariableDeclaration(); in VariableDeclarationDeclarators()
2354 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsVariableDeclaration(); in VariableDeclarationIsDeclare()
2363 auto *ident = reinterpret_cast<ir::AstNode *>(identifier)->AsExpression(); in CreateVariableDeclarator()
2364 …auto *init = initializer == nullptr ? nullptr : reinterpret_cast<ir::AstNode *>(initializer)->AsEx… in CreateVariableDeclarator()
2366 …auto varDecl = allocator->New<ir::VariableDeclarator>(ir::VariableDeclaratorFlag::UNKNOWN, ident, … in CreateVariableDeclarator()
2372 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsVariableDeclarator(); in VariableDeclaratorIdentifier()
2378 auto *node = reinterpret_cast<ir::AstNode *>(ast)->AsVariableDeclarator(); in VariableDeclaratorInitializer()