• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "../../src/mock/abckit_mock.h"
17 #include "../../src/mock/mock_values.h"
18 
19 #include "../../include/c/metadata_core.h"
20 #include "../../include/c/isa/isa_static.h"
21 
22 #include <cstdint>
23 #include <cstring>
24 #include <gtest/gtest.h>
25 
26 namespace libabckit::mock::isa_api_static {
27 
28 // NOLINTBEGIN(readability-identifier-naming)
29 
IgetClass(AbckitInst * inst)30 AbckitCoreClass *IgetClass(AbckitInst *inst)
31 {
32     g_calledFuncs.push(__func__);
33 
34     EXPECT_TRUE(inst == DEFAULT_INST);
35     return DEFAULT_CORE_CLASS;
36 }
37 
IsetClass(AbckitInst * inst,AbckitCoreClass * klass)38 void IsetClass(AbckitInst *inst, AbckitCoreClass *klass)
39 {
40     g_calledFuncs.push(__func__);
41 
42     EXPECT_TRUE(inst == DEFAULT_INST);
43     EXPECT_TRUE(klass == DEFAULT_CORE_CLASS);
44 }
45 
IgetConditionCode(AbckitInst * inst)46 enum AbckitIsaApiStaticConditionCode IgetConditionCode(AbckitInst *inst)
47 {
48     g_calledFuncs.push(__func__);
49 
50     EXPECT_TRUE(inst == DEFAULT_INST);
51     return DEFAULT_ENUM_ISA_STATIC_CONDITION_CODE;
52 }
53 
IsetConditionCode(AbckitInst * inst,enum AbckitIsaApiStaticConditionCode cc)54 void IsetConditionCode(AbckitInst *inst, enum AbckitIsaApiStaticConditionCode cc)
55 {
56     g_calledFuncs.push(__func__);
57 
58     EXPECT_TRUE(inst == DEFAULT_INST);
59     EXPECT_TRUE(cc == DEFAULT_ENUM_ISA_STATIC_CONDITION_CODE);
60 }
61 
IgetOpcode(AbckitInst * inst)62 AbckitIsaApiStaticOpcode IgetOpcode(AbckitInst *inst)
63 {
64     g_calledFuncs.push(__func__);
65 
66     EXPECT_TRUE(inst == DEFAULT_INST);
67     return DEFAULT_ENUM_ISA_API_STATIC_OPCODE;
68 }
69 
IsetTargetType(AbckitInst * inst,AbckitTypeId t)70 void IsetTargetType(AbckitInst *inst, AbckitTypeId t)
71 {
72     g_calledFuncs.push(__func__);
73 
74     EXPECT_TRUE(inst == DEFAULT_INST);
75     EXPECT_TRUE(t == DEFAULT_TYPE_ID);
76 }
77 
IgetTargetType(AbckitInst * inst)78 enum AbckitTypeId IgetTargetType(AbckitInst *inst)
79 {
80     g_calledFuncs.push(__func__);
81 
82     EXPECT_TRUE(inst == DEFAULT_INST);
83     return DEFAULT_ENUM_TYPE_ID;
84 }
85 
IcreateCmp(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)86 AbckitInst *IcreateCmp(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
87 {
88     g_calledFuncs.push(__func__);
89 
90     EXPECT_TRUE(graph == DEFAULT_GRAPH);
91     EXPECT_TRUE(input0 == DEFAULT_INST);
92     EXPECT_TRUE(input1 == DEFAULT_INST);
93     return DEFAULT_INST;
94 }
95 
IcreateLoadString(AbckitGraph * graph,AbckitString * str)96 AbckitInst *IcreateLoadString(AbckitGraph *graph, AbckitString *str)
97 {
98     g_calledFuncs.push(__func__);
99 
100     EXPECT_TRUE(graph == DEFAULT_GRAPH);
101     EXPECT_TRUE(str == DEFAULT_STRING);
102     return DEFAULT_INST;
103 }
104 
IcreateReturn(AbckitGraph * graph,AbckitInst * input0)105 AbckitInst *IcreateReturn(AbckitGraph *graph, AbckitInst *input0)
106 {
107     g_calledFuncs.push(__func__);
108 
109     EXPECT_TRUE(graph == DEFAULT_GRAPH);
110     EXPECT_TRUE(input0 == DEFAULT_INST);
111     return DEFAULT_INST;
112 }
113 
IcreateIf(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1,enum AbckitIsaApiStaticConditionCode cc)114 AbckitInst *IcreateIf(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1,
115                       enum AbckitIsaApiStaticConditionCode cc)
116 {
117     g_calledFuncs.push(__func__);
118 
119     EXPECT_TRUE(graph == DEFAULT_GRAPH);
120     EXPECT_TRUE(input0 == DEFAULT_INST);
121     EXPECT_TRUE(input1 == DEFAULT_INST);
122     EXPECT_TRUE(cc == DEFAULT_ENUM_ISA_STATIC_CONDITION_CODE);
123     return DEFAULT_INST;
124 }
125 
IcreateNeg(AbckitGraph * graph,AbckitInst * input0)126 AbckitInst *IcreateNeg(AbckitGraph *graph, AbckitInst *input0)
127 {
128     g_calledFuncs.push(__func__);
129 
130     EXPECT_TRUE(graph == DEFAULT_GRAPH);
131     EXPECT_TRUE(input0 == DEFAULT_INST);
132     return DEFAULT_INST;
133 }
134 
IcreateNot(AbckitGraph * graph,AbckitInst * input0)135 AbckitInst *IcreateNot(AbckitGraph *graph, AbckitInst *input0)
136 {
137     g_calledFuncs.push(__func__);
138 
139     EXPECT_TRUE(graph == DEFAULT_GRAPH);
140     EXPECT_TRUE(input0 == DEFAULT_INST);
141     return DEFAULT_INST;
142 }
143 
IcreateAdd(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)144 AbckitInst *IcreateAdd(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
145 {
146     g_calledFuncs.push(__func__);
147 
148     EXPECT_TRUE(graph == DEFAULT_GRAPH);
149     EXPECT_TRUE(input0 == DEFAULT_INST);
150     EXPECT_TRUE(input1 == DEFAULT_INST);
151     return DEFAULT_INST;
152 }
153 
IcreateSub(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)154 AbckitInst *IcreateSub(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
155 {
156     g_calledFuncs.push(__func__);
157 
158     EXPECT_TRUE(graph == DEFAULT_GRAPH);
159     EXPECT_TRUE(input0 == DEFAULT_INST);
160     EXPECT_TRUE(input1 == DEFAULT_INST);
161     return DEFAULT_INST;
162 }
163 
IcreateMul(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)164 AbckitInst *IcreateMul(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
165 {
166     g_calledFuncs.push(__func__);
167 
168     EXPECT_TRUE(graph == DEFAULT_GRAPH);
169     EXPECT_TRUE(input0 == DEFAULT_INST);
170     EXPECT_TRUE(input1 == DEFAULT_INST);
171     return DEFAULT_INST;
172 }
173 
IcreateDiv(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)174 AbckitInst *IcreateDiv(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
175 {
176     g_calledFuncs.push(__func__);
177 
178     EXPECT_TRUE(graph == DEFAULT_GRAPH);
179     EXPECT_TRUE(input0 == DEFAULT_INST);
180     EXPECT_TRUE(input1 == DEFAULT_INST);
181     return DEFAULT_INST;
182 }
183 
IcreateMod(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)184 AbckitInst *IcreateMod(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
185 {
186     g_calledFuncs.push(__func__);
187 
188     EXPECT_TRUE(graph == DEFAULT_GRAPH);
189     EXPECT_TRUE(input0 == DEFAULT_INST);
190     EXPECT_TRUE(input1 == DEFAULT_INST);
191     return DEFAULT_INST;
192 }
193 
IcreateShl(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)194 AbckitInst *IcreateShl(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
195 {
196     g_calledFuncs.push(__func__);
197 
198     EXPECT_TRUE(graph == DEFAULT_GRAPH);
199     EXPECT_TRUE(input0 == DEFAULT_INST);
200     EXPECT_TRUE(input1 == DEFAULT_INST);
201     return DEFAULT_INST;
202 }
203 
IcreateShr(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)204 AbckitInst *IcreateShr(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
205 {
206     g_calledFuncs.push(__func__);
207 
208     EXPECT_TRUE(graph == DEFAULT_GRAPH);
209     EXPECT_TRUE(input0 == DEFAULT_INST);
210     EXPECT_TRUE(input1 == DEFAULT_INST);
211     return DEFAULT_INST;
212 }
213 
IcreateAShr(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)214 AbckitInst *IcreateAShr(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
215 {
216     g_calledFuncs.push(__func__);
217 
218     EXPECT_TRUE(graph == DEFAULT_GRAPH);
219     EXPECT_TRUE(input0 == DEFAULT_INST);
220     EXPECT_TRUE(input1 == DEFAULT_INST);
221     return DEFAULT_INST;
222 }
223 
IcreateAnd(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)224 AbckitInst *IcreateAnd(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
225 {
226     g_calledFuncs.push(__func__);
227 
228     EXPECT_TRUE(graph == DEFAULT_GRAPH);
229     EXPECT_TRUE(input0 == DEFAULT_INST);
230     EXPECT_TRUE(input1 == DEFAULT_INST);
231     return DEFAULT_INST;
232 }
233 
IcreateOr(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)234 AbckitInst *IcreateOr(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
235 {
236     g_calledFuncs.push(__func__);
237 
238     EXPECT_TRUE(graph == DEFAULT_GRAPH);
239     EXPECT_TRUE(input0 == DEFAULT_INST);
240     EXPECT_TRUE(input1 == DEFAULT_INST);
241     return DEFAULT_INST;
242 }
243 
IcreateXor(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)244 AbckitInst *IcreateXor(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
245 {
246     g_calledFuncs.push(__func__);
247 
248     EXPECT_TRUE(graph == DEFAULT_GRAPH);
249     EXPECT_TRUE(input0 == DEFAULT_INST);
250     EXPECT_TRUE(input1 == DEFAULT_INST);
251     return DEFAULT_INST;
252 }
253 
IcreateCast(AbckitGraph * graph,AbckitInst * input0,AbckitTypeId targetType)254 AbckitInst *IcreateCast(AbckitGraph *graph, AbckitInst *input0, AbckitTypeId targetType)
255 {
256     g_calledFuncs.push(__func__);
257 
258     EXPECT_TRUE(graph == DEFAULT_GRAPH);
259     EXPECT_TRUE(input0 == DEFAULT_INST);
260     EXPECT_TRUE(targetType == DEFAULT_TYPE_ID);
261     return DEFAULT_INST;
262 }
263 
GcreateNullPtr(AbckitGraph * graph)264 AbckitInst *GcreateNullPtr(AbckitGraph *graph)
265 {
266     g_calledFuncs.push(__func__);
267 
268     EXPECT_TRUE(graph == DEFAULT_GRAPH);
269     return DEFAULT_INST;
270 }
271 
IcreateNewArray(AbckitGraph * graph,AbckitCoreClass * inputClass,AbckitInst * inputSize)272 AbckitInst *IcreateNewArray(AbckitGraph *graph, AbckitCoreClass *inputClass, AbckitInst *inputSize)
273 {
274     g_calledFuncs.push(__func__);
275 
276     EXPECT_TRUE(graph == DEFAULT_GRAPH);
277     EXPECT_TRUE(inputClass == DEFAULT_CORE_CLASS);
278     EXPECT_TRUE(inputSize == DEFAULT_INST);
279     return DEFAULT_INST;
280 }
281 
IcreateNewObject(AbckitGraph * graph,AbckitCoreClass * inputClass)282 AbckitInst *IcreateNewObject(AbckitGraph *graph, AbckitCoreClass *inputClass)
283 {
284     g_calledFuncs.push(__func__);
285 
286     EXPECT_TRUE(graph == DEFAULT_GRAPH);
287     EXPECT_TRUE(inputClass == DEFAULT_CORE_CLASS);
288     return DEFAULT_INST;
289 }
290 
IcreateInitObject(AbckitGraph * graph,AbckitCoreFunction * function,size_t argCount,...)291 AbckitInst *IcreateInitObject(AbckitGraph *graph, AbckitCoreFunction *function, size_t argCount, ...)
292 {
293     g_calledFuncs.push(__func__);
294 
295     EXPECT_TRUE(graph == DEFAULT_GRAPH);
296     EXPECT_TRUE(function == DEFAULT_CORE_FUNCTION);
297     EXPECT_TRUE(argCount == DEFAULT_SIZE_T);
298     return DEFAULT_INST;
299 }
300 
IcreateLoadArray(AbckitGraph * graph,AbckitInst * arrayRef,AbckitInst * idx,AbckitTypeId returnTypeId)301 AbckitInst *IcreateLoadArray(AbckitGraph *graph, AbckitInst *arrayRef, AbckitInst *idx, AbckitTypeId returnTypeId)
302 {
303     g_calledFuncs.push(__func__);
304 
305     EXPECT_TRUE(graph == DEFAULT_GRAPH);
306     EXPECT_TRUE(arrayRef == DEFAULT_INST);
307     EXPECT_TRUE(idx == DEFAULT_INST);
308     EXPECT_TRUE(returnTypeId == DEFAULT_TYPE_ID);
309     return DEFAULT_INST;
310 }
311 
IcreateStoreArray(AbckitGraph * graph,AbckitInst * arrayRef,AbckitInst * idx,AbckitInst * value,AbckitTypeId returnTypeId)312 AbckitInst *IcreateStoreArray(AbckitGraph *graph, AbckitInst *arrayRef, AbckitInst *idx, AbckitInst *value,
313                               AbckitTypeId returnTypeId)
314 {
315     g_calledFuncs.push(__func__);
316 
317     EXPECT_TRUE(graph == DEFAULT_GRAPH);
318     EXPECT_TRUE(arrayRef == DEFAULT_INST);
319     EXPECT_TRUE(idx == DEFAULT_INST);
320     EXPECT_TRUE(value == DEFAULT_INST);
321     EXPECT_TRUE(returnTypeId == DEFAULT_TYPE_ID);
322     return DEFAULT_INST;
323 }
324 
IcreateStoreArrayWide(AbckitGraph * graph,AbckitInst * arrayRef,AbckitInst * idx,AbckitInst * value,AbckitTypeId returnTypeId)325 AbckitInst *IcreateStoreArrayWide(AbckitGraph *graph, AbckitInst *arrayRef, AbckitInst *idx, AbckitInst *value,
326                                   AbckitTypeId returnTypeId)
327 {
328     g_calledFuncs.push(__func__);
329 
330     EXPECT_TRUE(graph == DEFAULT_GRAPH);
331     EXPECT_TRUE(arrayRef == DEFAULT_INST);
332     EXPECT_TRUE(idx == DEFAULT_INST);
333     EXPECT_TRUE(value == DEFAULT_INST);
334     EXPECT_TRUE(returnTypeId == DEFAULT_TYPE_ID);
335     return DEFAULT_INST;
336 }
337 
IcreateLenArray(AbckitGraph * graph,AbckitInst * arr)338 AbckitInst *IcreateLenArray(AbckitGraph *graph, AbckitInst *arr)
339 {
340     g_calledFuncs.push(__func__);
341 
342     EXPECT_TRUE(graph == DEFAULT_GRAPH);
343     EXPECT_TRUE(arr == DEFAULT_INST);
344     return DEFAULT_INST;
345 }
346 
IcreateLoadConstArray(AbckitGraph * graph,AbckitLiteralArray * literalArray)347 AbckitInst *IcreateLoadConstArray(AbckitGraph *graph, AbckitLiteralArray *literalArray)
348 {
349     g_calledFuncs.push(__func__);
350 
351     EXPECT_TRUE(graph == DEFAULT_GRAPH);
352     EXPECT_TRUE(literalArray == DEFAULT_LITERAL_ARRAY);
353     return DEFAULT_INST;
354 }
355 
IcreateCheckCast(AbckitGraph * graph,AbckitInst * inputObj,AbckitType * targetType)356 AbckitInst *IcreateCheckCast(AbckitGraph *graph, AbckitInst *inputObj, AbckitType *targetType)
357 {
358     g_calledFuncs.push(__func__);
359 
360     EXPECT_TRUE(graph == DEFAULT_GRAPH);
361     EXPECT_TRUE(inputObj == DEFAULT_INST);
362     EXPECT_TRUE(targetType == DEFAULT_TYPE);
363     return DEFAULT_INST;
364 }
365 
IcreateIsInstance(AbckitGraph * graph,AbckitInst * inputObj,AbckitType * targetType)366 AbckitInst *IcreateIsInstance(AbckitGraph *graph, AbckitInst *inputObj, AbckitType *targetType)
367 {
368     g_calledFuncs.push(__func__);
369 
370     EXPECT_TRUE(graph == DEFAULT_GRAPH);
371     EXPECT_TRUE(inputObj == DEFAULT_INST);
372     EXPECT_TRUE(targetType == DEFAULT_TYPE);
373     return DEFAULT_INST;
374 }
375 
IcreateLoadNullValue(AbckitGraph * graph)376 AbckitInst *IcreateLoadNullValue(AbckitGraph *graph)
377 {
378     g_calledFuncs.push(__func__);
379 
380     EXPECT_TRUE(graph == DEFAULT_GRAPH);
381     return DEFAULT_INST;
382 }
383 
IcreateReturnVoid(AbckitGraph * graph)384 AbckitInst *IcreateReturnVoid(AbckitGraph *graph)
385 {
386     g_calledFuncs.push(__func__);
387 
388     EXPECT_TRUE(graph == DEFAULT_GRAPH);
389     return DEFAULT_INST;
390 }
391 
IcreateEquals(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)392 AbckitInst *IcreateEquals(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
393 {
394     g_calledFuncs.push(__func__);
395 
396     EXPECT_TRUE(graph == DEFAULT_GRAPH);
397     EXPECT_TRUE(input0 == DEFAULT_INST);
398     EXPECT_TRUE(input1 == DEFAULT_INST);
399     return DEFAULT_INST;
400 }
401 
IcreateCallStatic(AbckitGraph * graph,AbckitCoreFunction * function,size_t argCount,...)402 AbckitInst *IcreateCallStatic(AbckitGraph *graph, AbckitCoreFunction *function, size_t argCount, ...)
403 {
404     g_calledFuncs.push(__func__);
405 
406     EXPECT_TRUE(graph == DEFAULT_GRAPH);
407     EXPECT_TRUE(function == DEFAULT_CORE_FUNCTION);
408     EXPECT_TRUE(argCount == DEFAULT_SIZE_T);
409     return DEFAULT_INST;
410 }
411 
IcreateStrictEquals(AbckitGraph * graph,AbckitInst * input0,AbckitInst * input1)412 AbckitInst *IcreateStrictEquals(AbckitGraph *graph, AbckitInst *input0, AbckitInst *input1)
413 {
414     g_calledFuncs.push(__func__);
415 
416     EXPECT_TRUE(graph == DEFAULT_GRAPH);
417     EXPECT_TRUE(input0 == DEFAULT_INST);
418     EXPECT_TRUE(input1 == DEFAULT_INST);
419     return DEFAULT_INST;
420 }
421 
IcreateCallVirtual(AbckitGraph * graph,AbckitInst * inputObj,AbckitCoreFunction * function,size_t argCount,...)422 AbckitInst *IcreateCallVirtual(AbckitGraph *graph, AbckitInst *inputObj, AbckitCoreFunction *function, size_t argCount,
423                                ...)
424 {
425     g_calledFuncs.push(__func__);
426 
427     EXPECT_TRUE(graph == DEFAULT_GRAPH);
428     EXPECT_TRUE(inputObj == DEFAULT_INST);
429     EXPECT_TRUE(function == DEFAULT_CORE_FUNCTION);
430     EXPECT_TRUE(argCount == DEFAULT_SIZE_T);
431     return DEFAULT_INST;
432 }
433 
IcreateAddI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)434 AbckitInst *IcreateAddI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
435 {
436     g_calledFuncs.push(__func__);
437 
438     EXPECT_TRUE(graph == DEFAULT_GRAPH);
439     EXPECT_TRUE(input0 == DEFAULT_INST);
440     EXPECT_TRUE(imm == DEFAULT_U64);
441     return DEFAULT_INST;
442 }
443 
IcreateSubI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)444 AbckitInst *IcreateSubI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
445 {
446     g_calledFuncs.push(__func__);
447 
448     EXPECT_TRUE(graph == DEFAULT_GRAPH);
449     EXPECT_TRUE(input0 == DEFAULT_INST);
450     EXPECT_TRUE(imm == DEFAULT_U64);
451     return DEFAULT_INST;
452 }
453 
IcreateMulI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)454 AbckitInst *IcreateMulI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
455 {
456     g_calledFuncs.push(__func__);
457 
458     EXPECT_TRUE(graph == DEFAULT_GRAPH);
459     EXPECT_TRUE(input0 == DEFAULT_INST);
460     EXPECT_TRUE(imm == DEFAULT_U64);
461     return DEFAULT_INST;
462 }
463 
IcreateDivI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)464 AbckitInst *IcreateDivI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
465 {
466     g_calledFuncs.push(__func__);
467 
468     EXPECT_TRUE(graph == DEFAULT_GRAPH);
469     EXPECT_TRUE(input0 == DEFAULT_INST);
470     EXPECT_TRUE(imm == DEFAULT_U64);
471     return DEFAULT_INST;
472 }
473 
IcreateModI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)474 AbckitInst *IcreateModI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
475 {
476     g_calledFuncs.push(__func__);
477 
478     EXPECT_TRUE(graph == DEFAULT_GRAPH);
479     EXPECT_TRUE(input0 == DEFAULT_INST);
480     EXPECT_TRUE(imm == DEFAULT_U64);
481     return DEFAULT_INST;
482 }
483 
IcreateShlI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)484 AbckitInst *IcreateShlI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
485 {
486     g_calledFuncs.push(__func__);
487 
488     EXPECT_TRUE(graph == DEFAULT_GRAPH);
489     EXPECT_TRUE(input0 == DEFAULT_INST);
490     EXPECT_TRUE(imm == DEFAULT_U64);
491     return DEFAULT_INST;
492 }
493 
IcreateShrI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)494 AbckitInst *IcreateShrI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
495 {
496     g_calledFuncs.push(__func__);
497 
498     EXPECT_TRUE(graph == DEFAULT_GRAPH);
499     EXPECT_TRUE(input0 == DEFAULT_INST);
500     EXPECT_TRUE(imm == DEFAULT_U64);
501     return DEFAULT_INST;
502 }
503 
IcreateAShrI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)504 AbckitInst *IcreateAShrI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
505 {
506     g_calledFuncs.push(__func__);
507 
508     EXPECT_TRUE(graph == DEFAULT_GRAPH);
509     EXPECT_TRUE(input0 == DEFAULT_INST);
510     EXPECT_TRUE(imm == DEFAULT_U64);
511     return DEFAULT_INST;
512 }
513 
IcreateAndI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)514 AbckitInst *IcreateAndI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
515 {
516     g_calledFuncs.push(__func__);
517 
518     EXPECT_TRUE(graph == DEFAULT_GRAPH);
519     EXPECT_TRUE(input0 == DEFAULT_INST);
520     EXPECT_TRUE(imm == DEFAULT_U64);
521     return DEFAULT_INST;
522 }
523 
IcreateOrI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)524 AbckitInst *IcreateOrI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
525 {
526     g_calledFuncs.push(__func__);
527 
528     EXPECT_TRUE(graph == DEFAULT_GRAPH);
529     EXPECT_TRUE(input0 == DEFAULT_INST);
530     EXPECT_TRUE(imm == DEFAULT_U64);
531     return DEFAULT_INST;
532 }
533 
IcreateXorI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)534 AbckitInst *IcreateXorI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
535 {
536     g_calledFuncs.push(__func__);
537 
538     EXPECT_TRUE(graph == DEFAULT_GRAPH);
539     EXPECT_TRUE(input0 == DEFAULT_INST);
540     EXPECT_TRUE(imm == DEFAULT_U64);
541     return DEFAULT_INST;
542 }
543 
IcreateThrow(AbckitGraph * graph,AbckitInst * acc)544 AbckitInst *IcreateThrow(AbckitGraph *graph, AbckitInst *acc)
545 {
546     g_calledFuncs.push(__func__);
547 
548     EXPECT_TRUE(graph == DEFAULT_GRAPH);
549     EXPECT_TRUE(acc == DEFAULT_INST);
550     return DEFAULT_INST;
551 }
552 
IcreateIsUndefined(AbckitGraph * graph,AbckitInst * inputObj)553 AbckitInst *IcreateIsUndefined(AbckitGraph *graph, AbckitInst *inputObj)
554 {
555     g_calledFuncs.push(__func__);
556 
557     EXPECT_TRUE(graph == DEFAULT_GRAPH);
558     EXPECT_TRUE(inputObj == DEFAULT_INST);
559     return DEFAULT_INST;
560 }
561 
562 AbckitIsaApiStatic g_isaApiStaticImpl = {
563     IgetClass,
564     IsetClass,
565     IgetConditionCode,
566     IsetConditionCode,
567     IgetOpcode,
568     IsetTargetType,
569     IgetTargetType,
570     IcreateCmp,
571     IcreateLoadString,
572     IcreateReturn,
573     IcreateIf,
574     IcreateNeg,
575     IcreateNot,
576     IcreateAdd,
577     IcreateSub,
578     IcreateMul,
579     IcreateDiv,
580     IcreateMod,
581     IcreateShl,
582     IcreateShr,
583     IcreateAShr,
584     IcreateAnd,
585     IcreateOr,
586     IcreateXor,
587     IcreateCast,
588     GcreateNullPtr,
589     IcreateNewArray,
590     IcreateNewObject,
591     IcreateInitObject,
592     IcreateLoadArray,
593     IcreateStoreArray,
594     IcreateStoreArrayWide,
595     IcreateLenArray,
596     IcreateLoadConstArray,
597     IcreateCheckCast,
598     IcreateIsInstance,
599     IcreateLoadNullValue,
600     IcreateReturnVoid,
601     IcreateEquals,
602     IcreateStrictEquals,
603     IcreateCallStatic,
604     IcreateCallVirtual,
605     IcreateAddI,
606     IcreateSubI,
607     IcreateMulI,
608     IcreateDivI,
609     IcreateModI,
610     IcreateShlI,
611     IcreateShrI,
612     IcreateAShrI,
613     IcreateAndI,
614     IcreateOrI,
615     IcreateXorI,
616     IcreateThrow,
617     IcreateIsUndefined,
618 };
619 
620 // NOLINTEND(readability-identifier-naming)
621 
622 }  // namespace libabckit::mock::isa_api_static
623 
AbckitGetMockIsaApiStaticImpl(AbckitApiVersion version)624 AbckitIsaApiStatic const *AbckitGetMockIsaApiStaticImpl([[maybe_unused]] AbckitApiVersion version)
625 {
626     return &libabckit::mock::isa_api_static::g_isaApiStaticImpl;
627 }