1 /* 2 * Copyright (c) 2024 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 "ETSAnalyzer.h" 17 18 namespace ark::es2panda::checker { 19 20 // from as folder Check([[maybe_unused]] ir::NamedType *node) const21checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::NamedType *node) const 22 { 23 UNREACHABLE(); 24 } 25 Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const26checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const 27 { 28 UNREACHABLE(); 29 } 30 Check([[maybe_unused]] ir::Decorator *st) const31checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::Decorator *st) const 32 { 33 UNREACHABLE(); 34 } 35 Check([[maybe_unused]] ir::MetaProperty *expr) const36checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::MetaProperty *expr) const 37 { 38 UNREACHABLE(); 39 } 40 Check([[maybe_unused]] ir::ScriptFunction *node) const41checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ScriptFunction *node) const 42 { 43 UNREACHABLE(); 44 } 45 Check([[maybe_unused]] ir::TSIndexSignature *node) const46checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSIndexSignature *node) const 47 { 48 UNREACHABLE(); 49 } 50 Check([[maybe_unused]] ir::TSMethodSignature *node) const51checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSMethodSignature *node) const 52 { 53 UNREACHABLE(); 54 } 55 Check([[maybe_unused]] ir::TSPropertySignature *node) const56checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSPropertySignature *node) const 57 { 58 UNREACHABLE(); 59 } 60 Check([[maybe_unused]] ir::TSSignatureDeclaration *node) const61checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSSignatureDeclaration *node) const 62 { 63 UNREACHABLE(); 64 } 65 // from ets folder Check([[maybe_unused]] ir::ETSScript *node) const66checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ETSScript *node) const 67 { 68 UNREACHABLE(); 69 } 70 Check([[maybe_unused]] ir::ETSImportDeclaration *node) const71checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ETSImportDeclaration *node) const 72 { 73 UNREACHABLE(); 74 } 75 Check([[maybe_unused]] ir::ETSTuple *node) const76checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ETSTuple *node) const 77 { 78 UNREACHABLE(); 79 } 80 Check([[maybe_unused]] ir::ETSUnionType *node) const81checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ETSUnionType *node) const 82 { 83 UNREACHABLE(); 84 } 85 Check([[maybe_unused]] ir::ETSWildcardType *node) const86checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ETSWildcardType *node) const 87 { 88 UNREACHABLE(); 89 } 90 Check([[maybe_unused]] ir::ChainExpression *expr) const91checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ChainExpression *expr) const 92 { 93 UNREACHABLE(); // eliminated in OptionalLowering 94 } 95 Check([[maybe_unused]] ir::ClassExpression *expr) const96checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ClassExpression *expr) const 97 { 98 UNREACHABLE(); 99 } 100 Check([[maybe_unused]] ir::ETSReExportDeclaration *expr) const101checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ETSReExportDeclaration *expr) const 102 { 103 UNREACHABLE(); 104 } 105 Check([[maybe_unused]] ir::DirectEvalExpression *expr) const106checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::DirectEvalExpression *expr) const 107 { 108 UNREACHABLE(); 109 } 110 Check([[maybe_unused]] ir::FunctionExpression *expr) const111checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::FunctionExpression *expr) const 112 { 113 UNREACHABLE(); 114 } 115 Check([[maybe_unused]] ir::ImportExpression *expr) const116checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ImportExpression *expr) const 117 { 118 UNREACHABLE(); 119 } 120 Check([[maybe_unused]] ir::NewExpression *expr) const121checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::NewExpression *expr) const 122 { 123 UNREACHABLE(); 124 } 125 Check([[maybe_unused]] ir::OmittedExpression *expr) const126checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::OmittedExpression *expr) const 127 { 128 UNREACHABLE(); 129 } 130 Check([[maybe_unused]] ir::TaggedTemplateExpression *expr) const131checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TaggedTemplateExpression *expr) const 132 { 133 UNREACHABLE(); 134 } 135 Check([[maybe_unused]] ir::YieldExpression *expr) const136checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::YieldExpression *expr) const 137 { 138 UNREACHABLE(); 139 } 140 Check([[maybe_unused]] ir::RegExpLiteral *expr) const141checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::RegExpLiteral *expr) const 142 { 143 UNREACHABLE(); 144 } 145 Check([[maybe_unused]] ir::UndefinedLiteral *expr) const146checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::UndefinedLiteral *expr) const 147 { 148 UNREACHABLE(); 149 } 150 151 // compile methods for MODULE-related nodes in alphabetical order Check([[maybe_unused]] ir::ExportAllDeclaration *st) const152checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ExportAllDeclaration *st) const 153 { 154 UNREACHABLE(); 155 } 156 Check([[maybe_unused]] ir::ExportDefaultDeclaration *st) const157checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ExportDefaultDeclaration *st) const 158 { 159 UNREACHABLE(); 160 } 161 Check([[maybe_unused]] ir::ExportNamedDeclaration *st) const162checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ExportNamedDeclaration *st) const 163 { 164 UNREACHABLE(); 165 } 166 Check([[maybe_unused]] ir::ExportSpecifier *st) const167checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ExportSpecifier *st) const 168 { 169 UNREACHABLE(); 170 } 171 Check([[maybe_unused]] ir::ImportDefaultSpecifier *st) const172checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ImportDefaultSpecifier *st) const 173 { 174 UNREACHABLE(); 175 } 176 Check([[maybe_unused]] ir::ImportSpecifier *st) const177checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ImportSpecifier *st) const 178 { 179 UNREACHABLE(); 180 } 181 Check([[maybe_unused]] ir::DebuggerStatement *st) const182checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::DebuggerStatement *st) const 183 { 184 UNREACHABLE(); 185 } 186 Check([[maybe_unused]] ir::ForInStatement *st) const187checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::ForInStatement *st) const 188 { 189 UNREACHABLE(); 190 } 191 Check([[maybe_unused]] ir::FunctionDeclaration *st) const192checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::FunctionDeclaration *st) const 193 { 194 UNREACHABLE(); 195 } 196 Check([[maybe_unused]] ir::SwitchCaseStatement *st) const197checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::SwitchCaseStatement *st) const 198 { 199 UNREACHABLE(); 200 } 201 202 // from ts folder Check([[maybe_unused]] ir::TSAnyKeyword *node) const203checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSAnyKeyword *node) const 204 { 205 UNREACHABLE(); 206 } 207 Check([[maybe_unused]] ir::TSBigintKeyword *node) const208checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSBigintKeyword *node) const 209 { 210 UNREACHABLE(); 211 } 212 Check([[maybe_unused]] ir::TSBooleanKeyword *node) const213checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSBooleanKeyword *node) const 214 { 215 UNREACHABLE(); 216 } 217 Check([[maybe_unused]] ir::TSClassImplements *expr) const218checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSClassImplements *expr) const 219 { 220 UNREACHABLE(); 221 } 222 Check([[maybe_unused]] ir::TSConditionalType *node) const223checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSConditionalType *node) const 224 { 225 UNREACHABLE(); 226 } 227 Check([[maybe_unused]] ir::TSConstructorType *node) const228checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSConstructorType *node) const 229 { 230 UNREACHABLE(); 231 } 232 Check([[maybe_unused]] ir::TSEnumMember *st) const233checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSEnumMember *st) const 234 { 235 UNREACHABLE(); 236 } 237 Check([[maybe_unused]] ir::TSExternalModuleReference *expr) const238checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSExternalModuleReference *expr) const 239 { 240 UNREACHABLE(); 241 } 242 Check([[maybe_unused]] ir::TSFunctionType *node) const243checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSFunctionType *node) const 244 { 245 UNREACHABLE(); 246 } 247 Check([[maybe_unused]] ir::TSImportEqualsDeclaration *st) const248checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSImportEqualsDeclaration *st) const 249 { 250 UNREACHABLE(); 251 } 252 Check([[maybe_unused]] ir::TSImportType *node) const253checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSImportType *node) const 254 { 255 UNREACHABLE(); 256 } 257 Check([[maybe_unused]] ir::TSIndexedAccessType *node) const258checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSIndexedAccessType *node) const 259 { 260 UNREACHABLE(); 261 } 262 Check([[maybe_unused]] ir::TSInferType *node) const263checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSInferType *node) const 264 { 265 UNREACHABLE(); 266 } 267 Check([[maybe_unused]] ir::TSInterfaceBody *expr) const268checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSInterfaceBody *expr) const 269 { 270 UNREACHABLE(); 271 } 272 Check([[maybe_unused]] ir::TSInterfaceHeritage *expr) const273checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSInterfaceHeritage *expr) const 274 { 275 UNREACHABLE(); 276 } 277 Check([[maybe_unused]] ir::TSIntersectionType *node) const278checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSIntersectionType *node) const 279 { 280 UNREACHABLE(); 281 } 282 Check([[maybe_unused]] ir::TSLiteralType *node) const283checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSLiteralType *node) const 284 { 285 UNREACHABLE(); 286 } 287 Check([[maybe_unused]] ir::TSMappedType *node) const288checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSMappedType *node) const 289 { 290 UNREACHABLE(); 291 } 292 Check([[maybe_unused]] ir::TSModuleBlock *st) const293checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSModuleBlock *st) const 294 { 295 UNREACHABLE(); 296 } 297 Check([[maybe_unused]] ir::TSModuleDeclaration *st) const298checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSModuleDeclaration *st) const 299 { 300 UNREACHABLE(); 301 } 302 Check([[maybe_unused]] ir::TSNamedTupleMember *node) const303checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSNamedTupleMember *node) const 304 { 305 UNREACHABLE(); 306 } 307 Check([[maybe_unused]] ir::TSNeverKeyword *node) const308checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSNeverKeyword *node) const 309 { 310 UNREACHABLE(); 311 } 312 Check([[maybe_unused]] ir::TSNullKeyword *node) const313checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSNullKeyword *node) const 314 { 315 UNREACHABLE(); 316 } 317 Check([[maybe_unused]] ir::TSNumberKeyword *node) const318checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSNumberKeyword *node) const 319 { 320 UNREACHABLE(); 321 } 322 Check([[maybe_unused]] ir::TSObjectKeyword *node) const323checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSObjectKeyword *node) const 324 { 325 UNREACHABLE(); 326 } 327 Check([[maybe_unused]] ir::TSParameterProperty *expr) const328checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSParameterProperty *expr) const 329 { 330 UNREACHABLE(); 331 } 332 Check([[maybe_unused]] ir::TSParenthesizedType *node) const333checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSParenthesizedType *node) const 334 { 335 UNREACHABLE(); 336 } 337 Check([[maybe_unused]] ir::TSStringKeyword *node) const338checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSStringKeyword *node) const 339 { 340 UNREACHABLE(); 341 } 342 Check([[maybe_unused]] ir::TSThisType *node) const343checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSThisType *node) const 344 { 345 UNREACHABLE(); 346 } 347 Check([[maybe_unused]] ir::TSTupleType *node) const348checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTupleType *node) const 349 { 350 UNREACHABLE(); 351 } 352 Check([[maybe_unused]] ir::TSTypeAssertion *expr) const353checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeAssertion *expr) const 354 { 355 UNREACHABLE(); 356 } 357 Check([[maybe_unused]] ir::TSTypeLiteral *node) const358checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeLiteral *node) const 359 { 360 UNREACHABLE(); 361 } 362 Check([[maybe_unused]] ir::TSTypeOperator *node) const363checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeOperator *node) const 364 { 365 UNREACHABLE(); 366 } 367 Check([[maybe_unused]] ir::TSTypeParameter *expr) const368checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeParameter *expr) const 369 { 370 UNREACHABLE(); 371 } 372 Check([[maybe_unused]] ir::TSTypeParameterDeclaration *expr) const373checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeParameterDeclaration *expr) const 374 { 375 UNREACHABLE(); 376 } 377 Check([[maybe_unused]] ir::TSTypeParameterInstantiation *expr) const378checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeParameterInstantiation *expr) const 379 { 380 UNREACHABLE(); 381 } 382 Check([[maybe_unused]] ir::TSTypePredicate *node) const383checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypePredicate *node) const 384 { 385 UNREACHABLE(); 386 } 387 Check([[maybe_unused]] ir::TSTypeQuery *node) const388checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeQuery *node) const 389 { 390 UNREACHABLE(); 391 } 392 Check([[maybe_unused]] ir::TSTypeReference *node) const393checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSTypeReference *node) const 394 { 395 UNREACHABLE(); 396 } 397 Check([[maybe_unused]] ir::TSUndefinedKeyword *node) const398checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSUndefinedKeyword *node) const 399 { 400 UNREACHABLE(); 401 } 402 Check([[maybe_unused]] ir::TSUnionType *node) const403checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSUnionType *node) const 404 { 405 UNREACHABLE(); 406 } 407 Check([[maybe_unused]] ir::TSUnknownKeyword *node) const408checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSUnknownKeyword *node) const 409 { 410 UNREACHABLE(); 411 } 412 Check([[maybe_unused]] ir::TSVoidKeyword *node) const413checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::TSVoidKeyword *node) const 414 { 415 UNREACHABLE(); 416 } 417 Check([[maybe_unused]] ir::DummyNode *expr) const418checker::Type *ETSAnalyzer::Check([[maybe_unused]] ir::DummyNode *expr) const 419 { 420 UNREACHABLE(); 421 } 422 } // namespace ark::es2panda::checker 423