1 /* 2 * Copyright (c) 2024-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "ETSCompiler.h" 17 18 namespace ark::es2panda::compiler { 19 Compile(const ir::NamedType * node) const20void ETSCompiler::Compile([[maybe_unused]] const ir::NamedType *node) const 21 { 22 ES2PANDA_UNREACHABLE(); 23 } 24 Compile(const ir::PrefixAssertionExpression * expr) const25void ETSCompiler::Compile([[maybe_unused]] const ir::PrefixAssertionExpression *expr) const 26 { 27 ES2PANDA_UNREACHABLE(); 28 } 29 Compile(const ir::ClassDefinition * node) const30void ETSCompiler::Compile([[maybe_unused]] const ir::ClassDefinition *node) const 31 { 32 ES2PANDA_UNREACHABLE(); 33 } 34 Compile(const ir::ClassStaticBlock * st) const35void ETSCompiler::Compile([[maybe_unused]] const ir::ClassStaticBlock *st) const 36 { 37 ES2PANDA_UNREACHABLE(); 38 } 39 Compile(const ir::Decorator * st) const40void ETSCompiler::Compile([[maybe_unused]] const ir::Decorator *st) const 41 { 42 ES2PANDA_UNREACHABLE(); 43 } 44 Compile(const ir::MetaProperty * expr) const45void ETSCompiler::Compile([[maybe_unused]] const ir::MetaProperty *expr) const 46 { 47 ES2PANDA_UNREACHABLE(); 48 } 49 Compile(const ir::MethodDefinition * node) const50void ETSCompiler::Compile([[maybe_unused]] const ir::MethodDefinition *node) const 51 { 52 ES2PANDA_UNREACHABLE(); 53 } 54 Compile(const ir::Property * expr) const55void ETSCompiler::Compile([[maybe_unused]] const ir::Property *expr) const 56 { 57 ES2PANDA_UNREACHABLE(); 58 } 59 Compile(const ir::ScriptFunction * node) const60void ETSCompiler::Compile([[maybe_unused]] const ir::ScriptFunction *node) const 61 { 62 ES2PANDA_UNREACHABLE(); 63 } 64 Compile(const ir::SpreadElement * expr) const65void ETSCompiler::Compile([[maybe_unused]] const ir::SpreadElement *expr) const 66 { 67 ES2PANDA_UNREACHABLE(); 68 } 69 Compile(const ir::TSIndexSignature * node) const70void ETSCompiler::Compile([[maybe_unused]] const ir::TSIndexSignature *node) const 71 { 72 ES2PANDA_UNREACHABLE(); 73 } 74 Compile(const ir::TSMethodSignature * node) const75void ETSCompiler::Compile([[maybe_unused]] const ir::TSMethodSignature *node) const 76 { 77 ES2PANDA_UNREACHABLE(); 78 } 79 Compile(const ir::TSPropertySignature * node) const80void ETSCompiler::Compile([[maybe_unused]] const ir::TSPropertySignature *node) const 81 { 82 ES2PANDA_UNREACHABLE(); 83 } 84 Compile(const ir::TSSignatureDeclaration * node) const85void ETSCompiler::Compile([[maybe_unused]] const ir::TSSignatureDeclaration *node) const 86 { 87 ES2PANDA_UNREACHABLE(); 88 } 89 Compile(const ir::ETSModule * node) const90void ETSCompiler::Compile([[maybe_unused]] const ir::ETSModule *node) const 91 { 92 ES2PANDA_UNREACHABLE(); 93 } 94 Compile(const ir::ETSTuple * node) const95void ETSCompiler::Compile([[maybe_unused]] const ir::ETSTuple *node) const 96 { 97 ES2PANDA_UNREACHABLE(); 98 } 99 Compile(const ir::ETSImportDeclaration * node) const100void ETSCompiler::Compile([[maybe_unused]] const ir::ETSImportDeclaration *node) const 101 { 102 ES2PANDA_UNREACHABLE(); 103 } 104 Compile(const ir::ETSPackageDeclaration * st) const105void ETSCompiler::Compile([[maybe_unused]] const ir::ETSPackageDeclaration *st) const 106 { 107 ES2PANDA_UNREACHABLE(); 108 } 109 Compile(const ir::ETSPrimitiveType * node) const110void ETSCompiler::Compile([[maybe_unused]] const ir::ETSPrimitiveType *node) const 111 { 112 ES2PANDA_UNREACHABLE(); 113 } 114 Compile(const ir::ETSStructDeclaration * node) const115void ETSCompiler::Compile([[maybe_unused]] const ir::ETSStructDeclaration *node) const 116 { 117 ES2PANDA_UNREACHABLE(); 118 } 119 Compile(const ir::ETSNonNullishTypeNode * node) const120void ETSCompiler::Compile([[maybe_unused]] const ir::ETSNonNullishTypeNode *node) const 121 { 122 ES2PANDA_UNREACHABLE(); 123 } 124 Compile(const ir::ETSNullType * node) const125void ETSCompiler::Compile([[maybe_unused]] const ir::ETSNullType *node) const 126 { 127 ES2PANDA_UNREACHABLE(); 128 } 129 Compile(const ir::ETSUndefinedType * node) const130void ETSCompiler::Compile([[maybe_unused]] const ir::ETSUndefinedType *node) const 131 { 132 ES2PANDA_UNREACHABLE(); 133 } 134 Compile(const ir::ETSNeverType * node) const135void ETSCompiler::Compile([[maybe_unused]] const ir::ETSNeverType *node) const 136 { 137 ES2PANDA_UNREACHABLE(); 138 } 139 Compile(const ir::ETSStringLiteralType * node) const140void ETSCompiler::Compile([[maybe_unused]] const ir::ETSStringLiteralType *node) const 141 { 142 ES2PANDA_UNREACHABLE(); 143 } 144 Compile(const ir::ETSUnionType * node) const145void ETSCompiler::Compile([[maybe_unused]] const ir::ETSUnionType *node) const 146 { 147 ES2PANDA_UNREACHABLE(); 148 } 149 Compile(const ir::ETSKeyofType * node) const150void ETSCompiler::Compile([[maybe_unused]] const ir::ETSKeyofType *node) const 151 { 152 ES2PANDA_UNREACHABLE(); 153 } 154 Compile(const ir::ArrowFunctionExpression * expr) const155void ETSCompiler::Compile([[maybe_unused]] const ir::ArrowFunctionExpression *expr) const 156 { 157 // Should have been handled by LambdaLowering 158 ES2PANDA_UNREACHABLE(); 159 } 160 Compile(const ir::ChainExpression * expr) const161void ETSCompiler::Compile([[maybe_unused]] const ir::ChainExpression *expr) const 162 { 163 ES2PANDA_UNREACHABLE(); 164 } 165 Compile(const ir::ClassExpression * expr) const166void ETSCompiler::Compile([[maybe_unused]] const ir::ClassExpression *expr) const 167 { 168 ES2PANDA_UNREACHABLE(); 169 } 170 Compile(const ir::ETSReExportDeclaration * stmt) const171void ETSCompiler::Compile([[maybe_unused]] const ir::ETSReExportDeclaration *stmt) const 172 { 173 ES2PANDA_UNREACHABLE(); 174 } 175 Compile(const ir::DirectEvalExpression * expr) const176void ETSCompiler::Compile([[maybe_unused]] const ir::DirectEvalExpression *expr) const 177 { 178 ES2PANDA_UNREACHABLE(); 179 } 180 Compile(const ir::FunctionExpression * expr) const181void ETSCompiler::Compile([[maybe_unused]] const ir::FunctionExpression *expr) const 182 { 183 ES2PANDA_UNREACHABLE(); 184 } 185 Compile(const ir::NewExpression * expr) const186void ETSCompiler::Compile([[maybe_unused]] const ir::NewExpression *expr) const 187 { 188 ES2PANDA_UNREACHABLE(); 189 } 190 Compile(const ir::OmittedExpression * expr) const191void ETSCompiler::Compile([[maybe_unused]] const ir::OmittedExpression *expr) const 192 { 193 ES2PANDA_UNREACHABLE(); 194 } 195 Compile(const ir::OpaqueTypeNode * node) const196void ETSCompiler::Compile([[maybe_unused]] const ir::OpaqueTypeNode *node) const 197 { 198 ES2PANDA_UNREACHABLE(); 199 } 200 Compile(const ir::BrokenTypeNode * node) const201void ETSCompiler::Compile([[maybe_unused]] const ir::BrokenTypeNode *node) const 202 { 203 ES2PANDA_UNREACHABLE(); 204 } 205 Compile(const ir::TaggedTemplateExpression * expr) const206void ETSCompiler::Compile([[maybe_unused]] const ir::TaggedTemplateExpression *expr) const 207 { 208 ES2PANDA_UNREACHABLE(); 209 } 210 Compile(const ir::UpdateExpression * expr) const211void ETSCompiler::Compile([[maybe_unused]] const ir::UpdateExpression *expr) const 212 { 213 // Should have been handled by OpAssignment lowering. 214 ES2PANDA_UNREACHABLE(); 215 } 216 Compile(const ir::YieldExpression * expr) const217void ETSCompiler::Compile([[maybe_unused]] const ir::YieldExpression *expr) const 218 { 219 ES2PANDA_UNREACHABLE(); 220 } 221 Compile(const ir::RegExpLiteral * expr) const222void ETSCompiler::Compile([[maybe_unused]] const ir::RegExpLiteral *expr) const 223 { 224 ES2PANDA_UNREACHABLE(); 225 } 226 Compile(const ir::UndefinedLiteral * expr) const227void ETSCompiler::Compile([[maybe_unused]] const ir::UndefinedLiteral *expr) const 228 { 229 ES2PANDA_UNREACHABLE(); 230 } 231 Compile(const ir::ExportAllDeclaration * st) const232void ETSCompiler::Compile([[maybe_unused]] const ir::ExportAllDeclaration *st) const 233 { 234 ES2PANDA_UNREACHABLE(); 235 } 236 Compile(const ir::ExportDefaultDeclaration * st) const237void ETSCompiler::Compile([[maybe_unused]] const ir::ExportDefaultDeclaration *st) const 238 { 239 ES2PANDA_UNREACHABLE(); 240 } 241 Compile(const ir::ExportNamedDeclaration * st) const242void ETSCompiler::Compile([[maybe_unused]] const ir::ExportNamedDeclaration *st) const 243 { 244 ES2PANDA_UNREACHABLE(); 245 } 246 Compile(const ir::ExportSpecifier * st) const247void ETSCompiler::Compile([[maybe_unused]] const ir::ExportSpecifier *st) const 248 { 249 ES2PANDA_UNREACHABLE(); 250 } 251 Compile(const ir::ImportDeclaration * st) const252void ETSCompiler::Compile([[maybe_unused]] const ir::ImportDeclaration *st) const 253 { 254 ES2PANDA_UNREACHABLE(); 255 } 256 Compile(const ir::ImportDefaultSpecifier * st) const257void ETSCompiler::Compile([[maybe_unused]] const ir::ImportDefaultSpecifier *st) const 258 { 259 ES2PANDA_UNREACHABLE(); 260 } 261 Compile(const ir::ImportNamespaceSpecifier * st) const262void ETSCompiler::Compile([[maybe_unused]] const ir::ImportNamespaceSpecifier *st) const 263 { 264 ES2PANDA_UNREACHABLE(); 265 } 266 Compile(const ir::ImportSpecifier * st) const267void ETSCompiler::Compile([[maybe_unused]] const ir::ImportSpecifier *st) const 268 { 269 ES2PANDA_UNREACHABLE(); 270 } 271 Compile(const ir::DebuggerStatement * st) const272void ETSCompiler::Compile([[maybe_unused]] const ir::DebuggerStatement *st) const 273 { 274 ES2PANDA_UNREACHABLE(); 275 } 276 Compile(const ir::ForInStatement * st) const277void ETSCompiler::Compile([[maybe_unused]] const ir::ForInStatement *st) const 278 { 279 ES2PANDA_UNREACHABLE(); 280 } 281 Compile(const ir::FunctionDeclaration * st) const282void ETSCompiler::Compile([[maybe_unused]] const ir::FunctionDeclaration *st) const 283 { 284 ES2PANDA_UNREACHABLE(); 285 } 286 Compile(const ir::SwitchCaseStatement * st) const287void ETSCompiler::Compile([[maybe_unused]] const ir::SwitchCaseStatement *st) const 288 { 289 ES2PANDA_UNREACHABLE(); 290 } 291 Compile(const ir::TSAnyKeyword * node) const292void ETSCompiler::Compile([[maybe_unused]] const ir::TSAnyKeyword *node) const 293 { 294 ES2PANDA_UNREACHABLE(); 295 } 296 Compile(const ir::TSBigintKeyword * node) const297void ETSCompiler::Compile([[maybe_unused]] const ir::TSBigintKeyword *node) const 298 { 299 ES2PANDA_UNREACHABLE(); 300 } 301 Compile(const ir::TSBooleanKeyword * node) const302void ETSCompiler::Compile([[maybe_unused]] const ir::TSBooleanKeyword *node) const 303 { 304 ES2PANDA_UNREACHABLE(); 305 } 306 Compile(const ir::TSClassImplements * expr) const307void ETSCompiler::Compile([[maybe_unused]] const ir::TSClassImplements *expr) const 308 { 309 ES2PANDA_UNREACHABLE(); 310 } 311 Compile(const ir::TSConditionalType * node) const312void ETSCompiler::Compile([[maybe_unused]] const ir::TSConditionalType *node) const 313 { 314 ES2PANDA_UNREACHABLE(); 315 } 316 Compile(const ir::TSConstructorType * node) const317void ETSCompiler::Compile([[maybe_unused]] const ir::TSConstructorType *node) const 318 { 319 ES2PANDA_UNREACHABLE(); 320 } 321 Compile(const ir::TSEnumMember * st) const322void ETSCompiler::Compile([[maybe_unused]] const ir::TSEnumMember *st) const 323 { 324 ES2PANDA_UNREACHABLE(); 325 } 326 Compile(const ir::TSExternalModuleReference * expr) const327void ETSCompiler::Compile([[maybe_unused]] const ir::TSExternalModuleReference *expr) const 328 { 329 ES2PANDA_UNREACHABLE(); 330 } 331 Compile(const ir::TSFunctionType * node) const332void ETSCompiler::Compile([[maybe_unused]] const ir::TSFunctionType *node) const 333 { 334 ES2PANDA_UNREACHABLE(); 335 } 336 Compile(const ir::TSImportEqualsDeclaration * st) const337void ETSCompiler::Compile([[maybe_unused]] const ir::TSImportEqualsDeclaration *st) const 338 { 339 ES2PANDA_UNREACHABLE(); 340 } 341 Compile(const ir::TSImportType * node) const342void ETSCompiler::Compile([[maybe_unused]] const ir::TSImportType *node) const 343 { 344 ES2PANDA_UNREACHABLE(); 345 } 346 Compile(const ir::TSIndexedAccessType * node) const347void ETSCompiler::Compile([[maybe_unused]] const ir::TSIndexedAccessType *node) const 348 { 349 ES2PANDA_UNREACHABLE(); 350 } 351 Compile(const ir::TSInferType * node) const352void ETSCompiler::Compile([[maybe_unused]] const ir::TSInferType *node) const 353 { 354 ES2PANDA_UNREACHABLE(); 355 } 356 Compile(const ir::TSInterfaceBody * expr) const357void ETSCompiler::Compile([[maybe_unused]] const ir::TSInterfaceBody *expr) const 358 { 359 ES2PANDA_UNREACHABLE(); 360 } 361 Compile(const ir::TSInterfaceHeritage * expr) const362void ETSCompiler::Compile([[maybe_unused]] const ir::TSInterfaceHeritage *expr) const 363 { 364 ES2PANDA_UNREACHABLE(); 365 } 366 Compile(const ir::TSIntersectionType * node) const367void ETSCompiler::Compile([[maybe_unused]] const ir::TSIntersectionType *node) const 368 { 369 ES2PANDA_UNREACHABLE(); 370 } 371 Compile(const ir::TSLiteralType * node) const372void ETSCompiler::Compile([[maybe_unused]] const ir::TSLiteralType *node) const 373 { 374 ES2PANDA_UNREACHABLE(); 375 } 376 Compile(const ir::TSMappedType * node) const377void ETSCompiler::Compile([[maybe_unused]] const ir::TSMappedType *node) const 378 { 379 ES2PANDA_UNREACHABLE(); 380 } 381 Compile(const ir::TSModuleBlock * st) const382void ETSCompiler::Compile([[maybe_unused]] const ir::TSModuleBlock *st) const 383 { 384 ES2PANDA_UNREACHABLE(); 385 } 386 Compile(const ir::TSModuleDeclaration * st) const387void ETSCompiler::Compile([[maybe_unused]] const ir::TSModuleDeclaration *st) const 388 { 389 ES2PANDA_UNREACHABLE(); 390 } 391 Compile(const ir::TSNamedTupleMember * node) const392void ETSCompiler::Compile([[maybe_unused]] const ir::TSNamedTupleMember *node) const 393 { 394 ES2PANDA_UNREACHABLE(); 395 } 396 Compile(const ir::TSNeverKeyword * node) const397void ETSCompiler::Compile([[maybe_unused]] const ir::TSNeverKeyword *node) const 398 { 399 ES2PANDA_UNREACHABLE(); 400 } 401 Compile(const ir::TSNullKeyword * node) const402void ETSCompiler::Compile([[maybe_unused]] const ir::TSNullKeyword *node) const 403 { 404 ES2PANDA_UNREACHABLE(); 405 } 406 Compile(const ir::TSNumberKeyword * node) const407void ETSCompiler::Compile([[maybe_unused]] const ir::TSNumberKeyword *node) const 408 { 409 ES2PANDA_UNREACHABLE(); 410 } 411 Compile(const ir::TSObjectKeyword * node) const412void ETSCompiler::Compile([[maybe_unused]] const ir::TSObjectKeyword *node) const 413 { 414 ES2PANDA_UNREACHABLE(); 415 } 416 Compile(const ir::TSParameterProperty * expr) const417void ETSCompiler::Compile([[maybe_unused]] const ir::TSParameterProperty *expr) const 418 { 419 ES2PANDA_UNREACHABLE(); 420 } 421 Compile(const ir::TSParenthesizedType * node) const422void ETSCompiler::Compile([[maybe_unused]] const ir::TSParenthesizedType *node) const 423 { 424 ES2PANDA_UNREACHABLE(); 425 } 426 Compile(const ir::TSQualifiedName * expr) const427void ETSCompiler::Compile([[maybe_unused]] const ir::TSQualifiedName *expr) const 428 { 429 ES2PANDA_UNREACHABLE(); 430 } 431 Compile(const ir::TSStringKeyword * node) const432void ETSCompiler::Compile([[maybe_unused]] const ir::TSStringKeyword *node) const 433 { 434 ES2PANDA_UNREACHABLE(); 435 } 436 Compile(const ir::TSThisType * node) const437void ETSCompiler::Compile([[maybe_unused]] const ir::TSThisType *node) const 438 { 439 ES2PANDA_UNREACHABLE(); 440 } 441 Compile(const ir::TSTupleType * node) const442void ETSCompiler::Compile([[maybe_unused]] const ir::TSTupleType *node) const 443 { 444 ES2PANDA_UNREACHABLE(); 445 } 446 Compile(const ir::TSTypeAssertion * expr) const447void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeAssertion *expr) const 448 { 449 ES2PANDA_UNREACHABLE(); 450 } 451 Compile(const ir::TSTypeLiteral * node) const452void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeLiteral *node) const 453 { 454 ES2PANDA_UNREACHABLE(); 455 } 456 Compile(const ir::TSTypeOperator * node) const457void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeOperator *node) const 458 { 459 ES2PANDA_UNREACHABLE(); 460 } 461 Compile(const ir::TSTypeParameter * expr) const462void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeParameter *expr) const 463 { 464 ES2PANDA_UNREACHABLE(); 465 } 466 Compile(const ir::TSTypeParameterDeclaration * expr) const467void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeParameterDeclaration *expr) const 468 { 469 ES2PANDA_UNREACHABLE(); 470 } 471 Compile(const ir::TSTypeParameterInstantiation * expr) const472void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeParameterInstantiation *expr) const 473 { 474 ES2PANDA_UNREACHABLE(); 475 } 476 Compile(const ir::TSTypePredicate * node) const477void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypePredicate *node) const 478 { 479 ES2PANDA_UNREACHABLE(); 480 } 481 Compile(const ir::TSTypeQuery * node) const482void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeQuery *node) const 483 { 484 ES2PANDA_UNREACHABLE(); 485 } 486 Compile(const ir::TSTypeReference * node) const487void ETSCompiler::Compile([[maybe_unused]] const ir::TSTypeReference *node) const 488 { 489 ES2PANDA_UNREACHABLE(); 490 } 491 Compile(const ir::TSUndefinedKeyword * node) const492void ETSCompiler::Compile([[maybe_unused]] const ir::TSUndefinedKeyword *node) const 493 { 494 ES2PANDA_UNREACHABLE(); 495 } 496 Compile(const ir::TSUnionType * node) const497void ETSCompiler::Compile([[maybe_unused]] const ir::TSUnionType *node) const 498 { 499 ES2PANDA_UNREACHABLE(); 500 } 501 Compile(const ir::TSUnknownKeyword * node) const502void ETSCompiler::Compile([[maybe_unused]] const ir::TSUnknownKeyword *node) const 503 { 504 ES2PANDA_UNREACHABLE(); 505 } 506 Compile(const ir::TSVoidKeyword * node) const507void ETSCompiler::Compile([[maybe_unused]] const ir::TSVoidKeyword *node) const 508 { 509 ES2PANDA_UNREACHABLE(); 510 } 511 Compile(const ir::DummyNode * node) const512void ETSCompiler::Compile([[maybe_unused]] const ir::DummyNode *node) const 513 { 514 ES2PANDA_UNREACHABLE(); 515 } 516 Compile(const ir::TSEnumDeclaration * st) const517void ETSCompiler::Compile([[maybe_unused]] const ir::TSEnumDeclaration *st) const 518 { 519 ES2PANDA_UNREACHABLE(); 520 } 521 } // namespace ark::es2panda::compiler 522