• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 "TSAnalyzer.h"
17 
18 namespace ark::es2panda::checker {
19 
20 // from as folder
Check(ir::NamedType * node) const21 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::NamedType *node) const
22 {
23     ES2PANDA_UNREACHABLE();
24 }
25 
Check(ir::PrefixAssertionExpression * expr) const26 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::PrefixAssertionExpression *expr) const
27 {
28     ES2PANDA_UNREACHABLE();
29 }
30 
Check(ir::ClassProperty * st) const31 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassProperty *st) const
32 {
33     ES2PANDA_UNREACHABLE();
34 }
35 
Check(ir::ClassStaticBlock * st) const36 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassStaticBlock *st) const
37 {
38     ES2PANDA_UNREACHABLE();
39 }
40 
Check(ir::Decorator * st) const41 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::Decorator *st) const
42 {
43     ES2PANDA_UNREACHABLE();
44 }
45 
Check(ir::MethodDefinition * node) const46 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::MethodDefinition *node) const
47 {
48     ES2PANDA_UNREACHABLE();
49 }
50 
Check(ir::Property * expr) const51 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::Property *expr) const
52 {
53     ES2PANDA_UNREACHABLE();
54 }
55 
Check(ir::ScriptFunction * node) const56 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ScriptFunction *node) const
57 {
58     ES2PANDA_UNREACHABLE();
59 }
60 
Check(ir::SpreadElement * expr) const61 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::SpreadElement *expr) const
62 {
63     ES2PANDA_UNREACHABLE();
64 }
65 
Check(ir::TemplateElement * expr) const66 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TemplateElement *expr) const
67 {
68     ES2PANDA_UNREACHABLE();
69 }
70 
71 // from ets folder
Check(ir::ETSModule * expr) const72 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSModule *expr) const
73 {
74     ES2PANDA_UNREACHABLE();
75 }
76 
Check(ir::ETSClassLiteral * expr) const77 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSClassLiteral *expr) const
78 {
79     ES2PANDA_UNREACHABLE();
80 }
81 
Check(ir::ETSFunctionType * node) const82 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSFunctionType *node) const
83 {
84     ES2PANDA_UNREACHABLE();
85 }
86 
Check(ir::ETSImportDeclaration * node) const87 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSImportDeclaration *node) const
88 {
89     ES2PANDA_UNREACHABLE();
90 }
91 
Check(ir::ETSNewArrayInstanceExpression * expr) const92 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNewArrayInstanceExpression *expr) const
93 {
94     ES2PANDA_UNREACHABLE();
95 }
96 
Check(ir::ETSNewClassInstanceExpression * expr) const97 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNewClassInstanceExpression *expr) const
98 {
99     ES2PANDA_UNREACHABLE();
100 }
101 
Check(ir::ETSNewMultiDimArrayInstanceExpression * expr) const102 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNewMultiDimArrayInstanceExpression *expr) const
103 {
104     ES2PANDA_UNREACHABLE();
105 }
106 
Check(ir::ETSPackageDeclaration * st) const107 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSPackageDeclaration *st) const
108 {
109     ES2PANDA_UNREACHABLE();
110 }
111 
Check(ir::ETSParameterExpression * expr) const112 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSParameterExpression *expr) const
113 {
114     ES2PANDA_UNREACHABLE();
115 }
116 
Check(ir::ETSPrimitiveType * node) const117 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSPrimitiveType *node) const
118 {
119     ES2PANDA_UNREACHABLE();
120 }
121 
Check(ir::ETSStructDeclaration * node) const122 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSStructDeclaration *node) const
123 {
124     ES2PANDA_UNREACHABLE();
125 }
126 
Check(ir::ETSTuple * node) const127 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSTuple *node) const
128 {
129     ES2PANDA_UNREACHABLE();
130 }
131 
Check(ir::ETSTypeReference * node) const132 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSTypeReference *node) const
133 {
134     ES2PANDA_UNREACHABLE();
135 }
136 
Check(ir::ETSTypeReferencePart * node) const137 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSTypeReferencePart *node) const
138 {
139     ES2PANDA_UNREACHABLE();
140 }
141 
Check(ir::ETSNonNullishTypeNode * node) const142 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNonNullishTypeNode *node) const
143 {
144     ES2PANDA_UNREACHABLE();
145 }
146 
Check(ir::ETSNullType * node) const147 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNullType *node) const
148 {
149     ES2PANDA_UNREACHABLE();
150 }
151 
Check(ir::ETSUndefinedType * node) const152 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSUndefinedType *node) const
153 {
154     ES2PANDA_UNREACHABLE();
155 }
156 
Check(ir::ETSNeverType * node) const157 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSNeverType *node) const
158 {
159     ES2PANDA_UNREACHABLE();
160 }
161 
Check(ir::ETSStringLiteralType * node) const162 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSStringLiteralType *node) const
163 {
164     ES2PANDA_UNREACHABLE();
165 }
166 
Check(ir::ETSUnionType * node) const167 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSUnionType *node) const
168 {
169     ES2PANDA_UNREACHABLE();
170 }
171 
Check(ir::ETSKeyofType * node) const172 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSKeyofType *node) const
173 {
174     ES2PANDA_UNREACHABLE();
175 }
176 
Check(ir::ETSWildcardType * node) const177 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSWildcardType *node) const
178 {
179     ES2PANDA_UNREACHABLE();
180 }
181 
Check(ir::BlockExpression * st) const182 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::BlockExpression *st) const
183 {
184     ES2PANDA_UNREACHABLE();
185 }
186 
Check(ir::ClassExpression * expr) const187 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassExpression *expr) const
188 {
189     ES2PANDA_UNREACHABLE();
190 }
191 
Check(ir::DirectEvalExpression * expr) const192 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::DirectEvalExpression *expr) const
193 {
194     ES2PANDA_UNREACHABLE();
195 }
196 
Check(ir::ImportExpression * expr) const197 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ImportExpression *expr) const
198 {
199     ES2PANDA_UNREACHABLE();
200 }
201 
Check(ir::CharLiteral * expr) const202 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::CharLiteral *expr) const
203 {
204     ES2PANDA_UNREACHABLE();
205 }
206 
Check(ir::UndefinedLiteral * expr) const207 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::UndefinedLiteral *expr) const
208 {
209     ES2PANDA_UNREACHABLE();
210 }
211 
212 // compile methods for MODULE-related nodes in alphabetical order
Check(ir::ExportAllDeclaration * st) const213 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ExportAllDeclaration *st) const
214 {
215     ES2PANDA_UNREACHABLE();
216 }
217 
Check(ir::ExportDefaultDeclaration * st) const218 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ExportDefaultDeclaration *st) const
219 {
220     ES2PANDA_UNREACHABLE();
221 }
222 
Check(ir::ExportNamedDeclaration * st) const223 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ExportNamedDeclaration *st) const
224 {
225     ES2PANDA_UNREACHABLE();
226 }
227 
Check(ir::ExportSpecifier * st) const228 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ExportSpecifier *st) const
229 {
230     ES2PANDA_UNREACHABLE();
231 }
232 
Check(ir::ImportDeclaration * st) const233 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ImportDeclaration *st) const
234 {
235     ES2PANDA_UNREACHABLE();
236 }
237 
Check(ir::ImportDefaultSpecifier * st) const238 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ImportDefaultSpecifier *st) const
239 {
240     ES2PANDA_UNREACHABLE();
241 }
242 
Check(ir::ImportNamespaceSpecifier * st) const243 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ImportNamespaceSpecifier *st) const
244 {
245     ES2PANDA_UNREACHABLE();
246 }
247 
Check(ir::ImportSpecifier * st) const248 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ImportSpecifier *st) const
249 {
250     ES2PANDA_UNREACHABLE();
251 }
252 // compile methods for STATEMENTS in alphabetical order
Check(ir::AssertStatement * st) const253 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::AssertStatement *st) const
254 {
255     ES2PANDA_UNREACHABLE();
256 }
257 
Check(ir::ClassDeclaration * st) const258 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ClassDeclaration *st) const
259 {
260     ES2PANDA_UNREACHABLE();
261 }
262 
Check(ir::ContinueStatement * st) const263 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ContinueStatement *st) const
264 {
265     ES2PANDA_UNREACHABLE();
266 }
267 
Check(ir::DebuggerStatement * st) const268 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::DebuggerStatement *st) const
269 {
270     ES2PANDA_UNREACHABLE();
271 }
272 
Check(ir::ForInStatement * st) const273 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ForInStatement *st) const
274 {
275     ES2PANDA_UNREACHABLE();
276 }
277 
Check(ir::ForOfStatement * st) const278 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ForOfStatement *st) const
279 {
280     ES2PANDA_UNREACHABLE();
281 }
282 
Check(ir::LabelledStatement * st) const283 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::LabelledStatement *st) const
284 {
285     ES2PANDA_UNREACHABLE();
286 }
287 
Check(ir::SwitchCaseStatement * st) const288 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::SwitchCaseStatement *st) const
289 {
290     ES2PANDA_UNREACHABLE();
291 }
292 
Check(ir::ThrowStatement * st) const293 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ThrowStatement *st) const
294 {
295     ES2PANDA_UNREACHABLE();
296 }
297 
Check(ir::TSClassImplements * expr) const298 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSClassImplements *expr) const
299 {
300     ES2PANDA_UNREACHABLE();
301 }
302 
Check(ir::TSConditionalType * node) const303 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSConditionalType *node) const
304 {
305     ES2PANDA_UNREACHABLE();
306 }
307 
Check(ir::ETSReExportDeclaration * node) const308 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::ETSReExportDeclaration *node) const
309 {
310     ES2PANDA_UNREACHABLE();
311 }
312 
Check(ir::TSEnumMember * st) const313 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSEnumMember *st) const
314 {
315     ES2PANDA_UNREACHABLE();
316 }
317 
Check(ir::TSExternalModuleReference * expr) const318 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSExternalModuleReference *expr) const
319 {
320     ES2PANDA_UNREACHABLE();
321 }
322 
Check(ir::TSImportEqualsDeclaration * st) const323 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSImportEqualsDeclaration *st) const
324 {
325     ES2PANDA_UNREACHABLE();
326 }
327 
Check(ir::TSImportType * node) const328 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSImportType *node) const
329 {
330     ES2PANDA_UNREACHABLE();
331 }
332 
Check(ir::TSInferType * node) const333 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSInferType *node) const
334 {
335     ES2PANDA_UNREACHABLE();
336 }
337 
Check(ir::TSInterfaceHeritage * expr) const338 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSInterfaceHeritage *expr) const
339 {
340     ES2PANDA_UNREACHABLE();
341 }
342 
Check(ir::TSIntersectionType * node) const343 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSIntersectionType *node) const
344 {
345     ES2PANDA_UNREACHABLE();
346 }
347 
Check(ir::TSMappedType * node) const348 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSMappedType *node) const
349 {
350     ES2PANDA_UNREACHABLE();
351 }
352 
Check(ir::TSModuleBlock * st) const353 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSModuleBlock *st) const
354 {
355     ES2PANDA_UNREACHABLE();
356 }
357 
Check(ir::TSModuleDeclaration * st) const358 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSModuleDeclaration *st) const
359 {
360     ES2PANDA_UNREACHABLE();
361 }
362 
Check(ir::TSNonNullExpression * expr) const363 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSNonNullExpression *expr) const
364 {
365     ES2PANDA_UNREACHABLE();
366 }
367 
Check(ir::TSObjectKeyword * node) const368 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSObjectKeyword *node) const
369 {
370     ES2PANDA_UNREACHABLE();
371 }
372 
Check(ir::TSParameterProperty * expr) const373 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSParameterProperty *expr) const
374 {
375     ES2PANDA_UNREACHABLE();
376 }
377 
Check(ir::TSThisType * node) const378 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSThisType *node) const
379 {
380     ES2PANDA_UNREACHABLE();
381 }
382 
Check(ir::TSTypeAssertion * expr) const383 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSTypeAssertion *expr) const
384 {
385     ES2PANDA_UNREACHABLE();
386 }
387 
Check(ir::TSTypeOperator * node) const388 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSTypeOperator *node) const
389 {
390     ES2PANDA_UNREACHABLE();
391 }
392 
Check(ir::TSTypeParameter * expr) const393 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSTypeParameter *expr) const
394 {
395     ES2PANDA_UNREACHABLE();
396 }
397 
Check(ir::TSTypeParameterDeclaration * expr) const398 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSTypeParameterDeclaration *expr) const
399 {
400     ES2PANDA_UNREACHABLE();
401 }
402 
Check(ir::TSTypeParameterInstantiation * expr) const403 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSTypeParameterInstantiation *expr) const
404 {
405     ES2PANDA_UNREACHABLE();
406 }
407 
Check(ir::TSTypePredicate * node) const408 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::TSTypePredicate *node) const
409 {
410     ES2PANDA_UNREACHABLE();
411 }
412 
Check(ir::DummyNode * node) const413 checker::Type *TSAnalyzer::Check([[maybe_unused]] ir::DummyNode *node) const
414 {
415     ES2PANDA_UNREACHABLE();
416 }
417 }  // namespace ark::es2panda::checker
418