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 "JSCompiler.h" 17 18 namespace ark::es2panda::compiler { 19 20 // from as folder Compile(const ir::NamedType * node) const21void JSCompiler::Compile([[maybe_unused]] const ir::NamedType *node) const 22 { 23 ES2PANDA_UNREACHABLE(); 24 } 25 Compile(const ir::PrefixAssertionExpression * expr) const26void JSCompiler::Compile([[maybe_unused]] const ir::PrefixAssertionExpression *expr) const 27 { 28 ES2PANDA_UNREACHABLE(); 29 } 30 Compile(const ir::ClassProperty * st) const31void JSCompiler::Compile([[maybe_unused]] const ir::ClassProperty *st) const 32 { 33 ES2PANDA_UNREACHABLE(); 34 } 35 Compile(const ir::ClassStaticBlock * st) const36void JSCompiler::Compile([[maybe_unused]] const ir::ClassStaticBlock *st) const 37 { 38 ES2PANDA_UNREACHABLE(); 39 } 40 Compile(const ir::Decorator * st) const41void JSCompiler::Compile([[maybe_unused]] const ir::Decorator *st) const 42 { 43 ES2PANDA_UNREACHABLE(); 44 } 45 Compile(const ir::MethodDefinition * node) const46void JSCompiler::Compile([[maybe_unused]] const ir::MethodDefinition *node) const 47 { 48 ES2PANDA_UNREACHABLE(); 49 } 50 Compile(const ir::Property * expr) const51void JSCompiler::Compile([[maybe_unused]] const ir::Property *expr) const 52 { 53 ES2PANDA_UNREACHABLE(); 54 } 55 Compile(const ir::ScriptFunction * node) const56void JSCompiler::Compile([[maybe_unused]] const ir::ScriptFunction *node) const 57 { 58 ES2PANDA_UNREACHABLE(); 59 } 60 Compile(const ir::SpreadElement * expr) const61void JSCompiler::Compile([[maybe_unused]] const ir::SpreadElement *expr) const 62 { 63 ES2PANDA_UNREACHABLE(); 64 } 65 Compile(const ir::TemplateElement * expr) const66void JSCompiler::Compile([[maybe_unused]] const ir::TemplateElement *expr) const 67 { 68 ES2PANDA_UNREACHABLE(); 69 } 70 Compile(const ir::TSIndexSignature * node) const71void JSCompiler::Compile([[maybe_unused]] const ir::TSIndexSignature *node) const 72 { 73 ES2PANDA_UNREACHABLE(); 74 } 75 Compile(const ir::TSMethodSignature * node) const76void JSCompiler::Compile([[maybe_unused]] const ir::TSMethodSignature *node) const 77 { 78 ES2PANDA_UNREACHABLE(); 79 } 80 Compile(const ir::TSPropertySignature * node) const81void JSCompiler::Compile([[maybe_unused]] const ir::TSPropertySignature *node) const 82 { 83 ES2PANDA_UNREACHABLE(); 84 } 85 Compile(const ir::TSSignatureDeclaration * node) const86void JSCompiler::Compile([[maybe_unused]] const ir::TSSignatureDeclaration *node) const 87 { 88 ES2PANDA_UNREACHABLE(); 89 } 90 // from ets folder Compile(const ir::ETSModule * expr) const91void JSCompiler::Compile([[maybe_unused]] const ir::ETSModule *expr) const 92 { 93 ES2PANDA_UNREACHABLE(); 94 } 95 Compile(const ir::ETSClassLiteral * expr) const96void JSCompiler::Compile([[maybe_unused]] const ir::ETSClassLiteral *expr) const 97 { 98 ES2PANDA_UNREACHABLE(); 99 } 100 Compile(const ir::ETSFunctionType * expr) const101void JSCompiler::Compile([[maybe_unused]] const ir::ETSFunctionType *expr) const 102 { 103 ES2PANDA_UNREACHABLE(); 104 } 105 Compile(const ir::ETSTuple * expr) const106void JSCompiler::Compile([[maybe_unused]] const ir::ETSTuple *expr) const 107 { 108 ES2PANDA_UNREACHABLE(); 109 } 110 Compile(const ir::ETSImportDeclaration * node) const111void JSCompiler::Compile([[maybe_unused]] const ir::ETSImportDeclaration *node) const 112 { 113 ES2PANDA_UNREACHABLE(); 114 } 115 Compile(const ir::ETSReExportDeclaration * node) const116void JSCompiler::Compile([[maybe_unused]] const ir::ETSReExportDeclaration *node) const 117 { 118 ES2PANDA_UNREACHABLE(); 119 } 120 Compile(const ir::ETSNewArrayInstanceExpression * expr) const121void JSCompiler::Compile([[maybe_unused]] const ir::ETSNewArrayInstanceExpression *expr) const 122 { 123 ES2PANDA_UNREACHABLE(); 124 } 125 Compile(const ir::ETSNewClassInstanceExpression * expr) const126void JSCompiler::Compile([[maybe_unused]] const ir::ETSNewClassInstanceExpression *expr) const 127 { 128 ES2PANDA_UNREACHABLE(); 129 } 130 Compile(const ir::ETSNewMultiDimArrayInstanceExpression * expr) const131void JSCompiler::Compile([[maybe_unused]] const ir::ETSNewMultiDimArrayInstanceExpression *expr) const 132 { 133 ES2PANDA_UNREACHABLE(); 134 } 135 Compile(const ir::ETSPackageDeclaration * expr) const136void JSCompiler::Compile([[maybe_unused]] const ir::ETSPackageDeclaration *expr) const 137 { 138 ES2PANDA_UNREACHABLE(); 139 } 140 Compile(const ir::ETSParameterExpression * expr) const141void JSCompiler::Compile([[maybe_unused]] const ir::ETSParameterExpression *expr) const 142 { 143 ES2PANDA_UNREACHABLE(); 144 } 145 Compile(const ir::ETSPrimitiveType * expr) const146void JSCompiler::Compile([[maybe_unused]] const ir::ETSPrimitiveType *expr) const 147 { 148 ES2PANDA_UNREACHABLE(); 149 } 150 Compile(const ir::ETSStructDeclaration * node) const151void JSCompiler::Compile([[maybe_unused]] const ir::ETSStructDeclaration *node) const 152 { 153 ES2PANDA_UNREACHABLE(); 154 } 155 Compile(const ir::ETSTypeReference * expr) const156void JSCompiler::Compile([[maybe_unused]] const ir::ETSTypeReference *expr) const 157 { 158 ES2PANDA_UNREACHABLE(); 159 } 160 Compile(const ir::ETSTypeReferencePart * expr) const161void JSCompiler::Compile([[maybe_unused]] const ir::ETSTypeReferencePart *expr) const 162 { 163 ES2PANDA_UNREACHABLE(); 164 } 165 Compile(const ir::ETSNonNullishTypeNode * node) const166void JSCompiler::Compile([[maybe_unused]] const ir::ETSNonNullishTypeNode *node) const 167 { 168 ES2PANDA_UNREACHABLE(); 169 } 170 Compile(const ir::ETSNullType * node) const171void JSCompiler::Compile([[maybe_unused]] const ir::ETSNullType *node) const 172 { 173 ES2PANDA_UNREACHABLE(); 174 } 175 Compile(const ir::ETSUndefinedType * node) const176void JSCompiler::Compile([[maybe_unused]] const ir::ETSUndefinedType *node) const 177 { 178 ES2PANDA_UNREACHABLE(); 179 } 180 Compile(const ir::ETSNeverType * node) const181void JSCompiler::Compile([[maybe_unused]] const ir::ETSNeverType *node) const 182 { 183 ES2PANDA_UNREACHABLE(); 184 } 185 Compile(const ir::ETSStringLiteralType * node) const186void JSCompiler::Compile([[maybe_unused]] const ir::ETSStringLiteralType *node) const 187 { 188 ES2PANDA_UNREACHABLE(); 189 } 190 Compile(const ir::ETSUnionType * node) const191void JSCompiler::Compile([[maybe_unused]] const ir::ETSUnionType *node) const 192 { 193 ES2PANDA_UNREACHABLE(); 194 } 195 Compile(const ir::ETSKeyofType * expr) const196void JSCompiler::Compile([[maybe_unused]] const ir::ETSKeyofType *expr) const 197 { 198 ES2PANDA_UNREACHABLE(); 199 } 200 Compile(const ir::ETSWildcardType * expr) const201void JSCompiler::Compile([[maybe_unused]] const ir::ETSWildcardType *expr) const 202 { 203 ES2PANDA_UNREACHABLE(); 204 } 205 Compile(const ir::BlockExpression * expr) const206void JSCompiler::Compile([[maybe_unused]] const ir::BlockExpression *expr) const 207 { 208 ES2PANDA_UNREACHABLE(); 209 } 210 Compile(const ir::OpaqueTypeNode * node) const211void JSCompiler::Compile([[maybe_unused]] const ir::OpaqueTypeNode *node) const 212 { 213 ES2PANDA_UNREACHABLE(); 214 } 215 Compile(const ir::BrokenTypeNode * node) const216void JSCompiler::Compile([[maybe_unused]] const ir::BrokenTypeNode *node) const 217 { 218 ES2PANDA_UNREACHABLE(); 219 } 220 Compile(const ir::OmittedExpression * expr) const221void JSCompiler::Compile([[maybe_unused]] const ir::OmittedExpression *expr) const 222 { 223 ES2PANDA_UNREACHABLE(); 224 } 225 Compile(const ir::CharLiteral * expr) const226void JSCompiler::Compile([[maybe_unused]] const ir::CharLiteral *expr) const 227 { 228 ES2PANDA_UNREACHABLE(); 229 } 230 Compile(const ir::UndefinedLiteral * expr) const231void JSCompiler::Compile([[maybe_unused]] const ir::UndefinedLiteral *expr) const 232 { 233 ES2PANDA_UNREACHABLE(); 234 } 235 Compile(const ir::ExportSpecifier * st) const236void JSCompiler::Compile([[maybe_unused]] const ir::ExportSpecifier *st) const 237 { 238 ES2PANDA_UNREACHABLE(); 239 } 240 Compile(const ir::ImportDefaultSpecifier * st) const241void JSCompiler::Compile([[maybe_unused]] const ir::ImportDefaultSpecifier *st) const 242 { 243 ES2PANDA_UNREACHABLE(); 244 } 245 Compile(const ir::ImportNamespaceSpecifier * st) const246void JSCompiler::Compile([[maybe_unused]] const ir::ImportNamespaceSpecifier *st) const 247 { 248 ES2PANDA_UNREACHABLE(); 249 } 250 Compile(const ir::ImportSpecifier * st) const251void JSCompiler::Compile([[maybe_unused]] const ir::ImportSpecifier *st) const 252 { 253 ES2PANDA_UNREACHABLE(); 254 } 255 // Compile methods for STATEMENTS in alphabetical order Compile(const ir::AssertStatement * st) const256void JSCompiler::Compile([[maybe_unused]] const ir::AssertStatement *st) const 257 { 258 ES2PANDA_UNREACHABLE(); 259 } 260 Compile(const ir::SwitchCaseStatement * st) const261void JSCompiler::Compile([[maybe_unused]] const ir::SwitchCaseStatement *st) const 262 { 263 ES2PANDA_UNREACHABLE(); 264 } 265 266 // from ts folder Compile(const ir::TSAnyKeyword * node) const267void JSCompiler::Compile([[maybe_unused]] const ir::TSAnyKeyword *node) const 268 { 269 ES2PANDA_UNREACHABLE(); 270 } 271 Compile(const ir::TSArrayType * node) const272void JSCompiler::Compile([[maybe_unused]] const ir::TSArrayType *node) const 273 { 274 ES2PANDA_UNREACHABLE(); 275 } 276 Compile(const ir::TSAsExpression * expr) const277void JSCompiler::Compile([[maybe_unused]] const ir::TSAsExpression *expr) const 278 { 279 ES2PANDA_UNREACHABLE(); 280 } 281 Compile(const ir::TSBigintKeyword * node) const282void JSCompiler::Compile([[maybe_unused]] const ir::TSBigintKeyword *node) const 283 { 284 ES2PANDA_UNREACHABLE(); 285 } 286 Compile(const ir::TSBooleanKeyword * node) const287void JSCompiler::Compile([[maybe_unused]] const ir::TSBooleanKeyword *node) const 288 { 289 ES2PANDA_UNREACHABLE(); 290 } 291 Compile(const ir::TSClassImplements * expr) const292void JSCompiler::Compile([[maybe_unused]] const ir::TSClassImplements *expr) const 293 { 294 ES2PANDA_UNREACHABLE(); 295 } 296 Compile(const ir::TSConditionalType * node) const297void JSCompiler::Compile([[maybe_unused]] const ir::TSConditionalType *node) const 298 { 299 ES2PANDA_UNREACHABLE(); 300 } 301 Compile(const ir::TSConstructorType * node) const302void JSCompiler::Compile([[maybe_unused]] const ir::TSConstructorType *node) const 303 { 304 ES2PANDA_UNREACHABLE(); 305 } 306 Compile(const ir::TSEnumDeclaration * st) const307void JSCompiler::Compile([[maybe_unused]] const ir::TSEnumDeclaration *st) const 308 { 309 ES2PANDA_UNREACHABLE(); 310 } 311 Compile(const ir::TSEnumMember * st) const312void JSCompiler::Compile([[maybe_unused]] const ir::TSEnumMember *st) const 313 { 314 ES2PANDA_UNREACHABLE(); 315 } 316 Compile(const ir::TSExternalModuleReference * expr) const317void JSCompiler::Compile([[maybe_unused]] const ir::TSExternalModuleReference *expr) const 318 { 319 ES2PANDA_UNREACHABLE(); 320 } 321 Compile(const ir::TSFunctionType * node) const322void JSCompiler::Compile([[maybe_unused]] const ir::TSFunctionType *node) const 323 { 324 ES2PANDA_UNREACHABLE(); 325 } 326 Compile(const ir::TSImportEqualsDeclaration * st) const327void JSCompiler::Compile([[maybe_unused]] const ir::TSImportEqualsDeclaration *st) const 328 { 329 ES2PANDA_UNREACHABLE(); 330 } 331 Compile(const ir::TSImportType * node) const332void JSCompiler::Compile([[maybe_unused]] const ir::TSImportType *node) const 333 { 334 ES2PANDA_UNREACHABLE(); 335 } 336 Compile(const ir::TSIndexedAccessType * node) const337void JSCompiler::Compile([[maybe_unused]] const ir::TSIndexedAccessType *node) const 338 { 339 ES2PANDA_UNREACHABLE(); 340 } 341 Compile(const ir::TSInferType * node) const342void JSCompiler::Compile([[maybe_unused]] const ir::TSInferType *node) const 343 { 344 ES2PANDA_UNREACHABLE(); 345 } 346 Compile(const ir::TSInterfaceBody * expr) const347void JSCompiler::Compile([[maybe_unused]] const ir::TSInterfaceBody *expr) const 348 { 349 ES2PANDA_UNREACHABLE(); 350 } 351 Compile(const ir::TSInterfaceDeclaration * st) const352void JSCompiler::Compile([[maybe_unused]] const ir::TSInterfaceDeclaration *st) const 353 { 354 ES2PANDA_UNREACHABLE(); 355 } 356 Compile(const ir::TSInterfaceHeritage * expr) const357void JSCompiler::Compile([[maybe_unused]] const ir::TSInterfaceHeritage *expr) const 358 { 359 ES2PANDA_UNREACHABLE(); 360 } 361 Compile(const ir::TSIntersectionType * node) const362void JSCompiler::Compile([[maybe_unused]] const ir::TSIntersectionType *node) const 363 { 364 ES2PANDA_UNREACHABLE(); 365 } 366 Compile(const ir::TSLiteralType * node) const367void JSCompiler::Compile([[maybe_unused]] const ir::TSLiteralType *node) const 368 { 369 ES2PANDA_UNREACHABLE(); 370 } 371 Compile(const ir::TSMappedType * node) const372void JSCompiler::Compile([[maybe_unused]] const ir::TSMappedType *node) const 373 { 374 ES2PANDA_UNREACHABLE(); 375 } 376 Compile(const ir::TSModuleBlock * st) const377void JSCompiler::Compile([[maybe_unused]] const ir::TSModuleBlock *st) const 378 { 379 ES2PANDA_UNREACHABLE(); 380 } 381 Compile(const ir::TSModuleDeclaration * st) const382void JSCompiler::Compile([[maybe_unused]] const ir::TSModuleDeclaration *st) const 383 { 384 ES2PANDA_UNREACHABLE(); 385 } 386 Compile(const ir::TSNamedTupleMember * node) const387void JSCompiler::Compile([[maybe_unused]] const ir::TSNamedTupleMember *node) const 388 { 389 ES2PANDA_UNREACHABLE(); 390 } 391 Compile(const ir::TSNeverKeyword * node) const392void JSCompiler::Compile([[maybe_unused]] const ir::TSNeverKeyword *node) const 393 { 394 ES2PANDA_UNREACHABLE(); 395 } 396 Compile(const ir::TSNonNullExpression * expr) const397void JSCompiler::Compile([[maybe_unused]] const ir::TSNonNullExpression *expr) const 398 { 399 ES2PANDA_UNREACHABLE(); 400 } 401 Compile(const ir::TSNullKeyword * node) const402void JSCompiler::Compile([[maybe_unused]] const ir::TSNullKeyword *node) const 403 { 404 ES2PANDA_UNREACHABLE(); 405 } 406 Compile(const ir::TSNumberKeyword * node) const407void JSCompiler::Compile([[maybe_unused]] const ir::TSNumberKeyword *node) const 408 { 409 ES2PANDA_UNREACHABLE(); 410 } 411 Compile(const ir::TSObjectKeyword * node) const412void JSCompiler::Compile([[maybe_unused]] const ir::TSObjectKeyword *node) const 413 { 414 ES2PANDA_UNREACHABLE(); 415 } 416 Compile(const ir::TSParameterProperty * expr) const417void JSCompiler::Compile([[maybe_unused]] const ir::TSParameterProperty *expr) const 418 { 419 ES2PANDA_UNREACHABLE(); 420 } 421 Compile(const ir::TSParenthesizedType * node) const422void JSCompiler::Compile([[maybe_unused]] const ir::TSParenthesizedType *node) const 423 { 424 ES2PANDA_UNREACHABLE(); 425 } 426 Compile(const ir::TSQualifiedName * expr) const427void JSCompiler::Compile([[maybe_unused]] const ir::TSQualifiedName *expr) const 428 { 429 ES2PANDA_UNREACHABLE(); 430 } 431 Compile(const ir::TSStringKeyword * node) const432void JSCompiler::Compile([[maybe_unused]] const ir::TSStringKeyword *node) const 433 { 434 ES2PANDA_UNREACHABLE(); 435 } 436 Compile(const ir::TSThisType * node) const437void JSCompiler::Compile([[maybe_unused]] const ir::TSThisType *node) const 438 { 439 ES2PANDA_UNREACHABLE(); 440 } 441 Compile(const ir::TSTupleType * node) const442void JSCompiler::Compile([[maybe_unused]] const ir::TSTupleType *node) const 443 { 444 ES2PANDA_UNREACHABLE(); 445 } 446 Compile(const ir::TSTypeAliasDeclaration * st) const447void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeAliasDeclaration *st) const 448 { 449 ES2PANDA_UNREACHABLE(); 450 } 451 Compile(const ir::TSTypeAssertion * expr) const452void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeAssertion *expr) const 453 { 454 ES2PANDA_UNREACHABLE(); 455 } 456 Compile(const ir::TSTypeLiteral * node) const457void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeLiteral *node) const 458 { 459 ES2PANDA_UNREACHABLE(); 460 } 461 Compile(const ir::TSTypeOperator * node) const462void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeOperator *node) const 463 { 464 ES2PANDA_UNREACHABLE(); 465 } 466 Compile(const ir::TSTypeParameter * expr) const467void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeParameter *expr) const 468 { 469 ES2PANDA_UNREACHABLE(); 470 } 471 Compile(const ir::TSTypeParameterDeclaration * expr) const472void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeParameterDeclaration *expr) const 473 { 474 ES2PANDA_UNREACHABLE(); 475 } 476 Compile(const ir::TSTypeParameterInstantiation * expr) const477void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeParameterInstantiation *expr) const 478 { 479 ES2PANDA_UNREACHABLE(); 480 } 481 Compile(const ir::TSTypePredicate * node) const482void JSCompiler::Compile([[maybe_unused]] const ir::TSTypePredicate *node) const 483 { 484 ES2PANDA_UNREACHABLE(); 485 } 486 Compile(const ir::TSTypeQuery * node) const487void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeQuery *node) const 488 { 489 ES2PANDA_UNREACHABLE(); 490 } 491 Compile(const ir::TSTypeReference * node) const492void JSCompiler::Compile([[maybe_unused]] const ir::TSTypeReference *node) const 493 { 494 ES2PANDA_UNREACHABLE(); 495 } 496 Compile(const ir::TSUndefinedKeyword * node) const497void JSCompiler::Compile([[maybe_unused]] const ir::TSUndefinedKeyword *node) const 498 { 499 ES2PANDA_UNREACHABLE(); 500 } 501 Compile(const ir::TSUnionType * node) const502void JSCompiler::Compile([[maybe_unused]] const ir::TSUnionType *node) const 503 { 504 ES2PANDA_UNREACHABLE(); 505 } 506 Compile(const ir::TSUnknownKeyword * node) const507void JSCompiler::Compile([[maybe_unused]] const ir::TSUnknownKeyword *node) const 508 { 509 ES2PANDA_UNREACHABLE(); 510 } 511 Compile(const ir::TSVoidKeyword * node) const512void JSCompiler::Compile([[maybe_unused]] const ir::TSVoidKeyword *node) const 513 { 514 ES2PANDA_UNREACHABLE(); 515 } 516 Compile(const ir::DummyNode * node) const517void JSCompiler::Compile([[maybe_unused]] const ir::DummyNode *node) const 518 { 519 ES2PANDA_UNREACHABLE(); 520 } 521 } // namespace ark::es2panda::compiler 522