• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "../../src/mock/abckit_mock.h"
17 #include "../../src/mock/mock_values.h"
18 
19 #include "../../include/c/metadata_core.h"
20 #include "../../src/include_v2/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 
IcreateLoadUndefined(AbckitGraph * graph)376 AbckitInst *IcreateLoadUndefined(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 
IcreateCallVirtual(AbckitGraph * graph,AbckitInst * inputObj,AbckitCoreFunction * function,size_t argCount,...)412 AbckitInst *IcreateCallVirtual(AbckitGraph *graph, AbckitInst *inputObj, AbckitCoreFunction *function, size_t argCount,
413                                ...)
414 {
415     g_calledFuncs.push(__func__);
416 
417     EXPECT_TRUE(graph == DEFAULT_GRAPH);
418     EXPECT_TRUE(inputObj == DEFAULT_INST);
419     EXPECT_TRUE(function == DEFAULT_CORE_FUNCTION);
420     EXPECT_TRUE(argCount == DEFAULT_SIZE_T);
421     return DEFAULT_INST;
422 }
423 
IcreateAddI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)424 AbckitInst *IcreateAddI(AbckitGraph *graph, AbckitInst *input0, uint64_t imm)
425 {
426     g_calledFuncs.push(__func__);
427 
428     EXPECT_TRUE(graph == DEFAULT_GRAPH);
429     EXPECT_TRUE(input0 == DEFAULT_INST);
430     EXPECT_TRUE(imm == DEFAULT_U64);
431     return DEFAULT_INST;
432 }
433 
IcreateSubI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)434 AbckitInst *IcreateSubI(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 
IcreateMulI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)444 AbckitInst *IcreateMulI(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 
IcreateDivI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)454 AbckitInst *IcreateDivI(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 
IcreateModI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)464 AbckitInst *IcreateModI(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 
IcreateShlI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)474 AbckitInst *IcreateShlI(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 
IcreateShrI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)484 AbckitInst *IcreateShrI(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 
IcreateAShrI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)494 AbckitInst *IcreateAShrI(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 
IcreateAndI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)504 AbckitInst *IcreateAndI(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 
IcreateOrI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)514 AbckitInst *IcreateOrI(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 
IcreateXorI(AbckitGraph * graph,AbckitInst * input0,uint64_t imm)524 AbckitInst *IcreateXorI(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 
IcreateThrow(AbckitGraph * graph,AbckitInst * acc)534 AbckitInst *IcreateThrow(AbckitGraph *graph, AbckitInst *acc)
535 {
536     g_calledFuncs.push(__func__);
537 
538     EXPECT_TRUE(graph == DEFAULT_GRAPH);
539     EXPECT_TRUE(acc == DEFAULT_INST);
540     return DEFAULT_INST;
541 }
542 
IcreateIsUndefined(AbckitGraph * graph,AbckitInst * inputObj)543 AbckitInst *IcreateIsUndefined(AbckitGraph *graph, AbckitInst *inputObj)
544 {
545     g_calledFuncs.push(__func__);
546 
547     EXPECT_TRUE(graph == DEFAULT_GRAPH);
548     EXPECT_TRUE(inputObj == DEFAULT_INST);
549     return DEFAULT_INST;
550 }
551 
552 AbckitIsaApiStatic g_isaApiStaticImpl = {
553     IgetClass,
554     IsetClass,
555     IgetConditionCode,
556     IsetConditionCode,
557     IgetOpcode,
558     IsetTargetType,
559     IgetTargetType,
560     IcreateCmp,
561     IcreateLoadString,
562     IcreateReturn,
563     IcreateIf,
564     IcreateNeg,
565     IcreateNot,
566     IcreateAdd,
567     IcreateSub,
568     IcreateMul,
569     IcreateDiv,
570     IcreateMod,
571     IcreateShl,
572     IcreateShr,
573     IcreateAShr,
574     IcreateAnd,
575     IcreateOr,
576     IcreateXor,
577     IcreateCast,
578     GcreateNullPtr,
579     IcreateNewArray,
580     IcreateNewObject,
581     IcreateInitObject,
582     IcreateLoadArray,
583     IcreateStoreArray,
584     IcreateStoreArrayWide,
585     IcreateLenArray,
586     IcreateLoadConstArray,
587     IcreateCheckCast,
588     IcreateIsInstance,
589     IcreateLoadUndefined,
590     IcreateReturnVoid,
591     IcreateEquals,
592     IcreateCallStatic,
593     IcreateCallVirtual,
594     IcreateAddI,
595     IcreateSubI,
596     IcreateMulI,
597     IcreateDivI,
598     IcreateModI,
599     IcreateShlI,
600     IcreateShrI,
601     IcreateAShrI,
602     IcreateAndI,
603     IcreateOrI,
604     IcreateXorI,
605     IcreateThrow,
606     IcreateIsUndefined,
607 };
608 
609 // NOLINTEND(readability-identifier-naming)
610 
611 }  // namespace libabckit::mock::isa_api_static
612 
AbckitGetMockIsaApiStaticImpl(AbckitApiVersion version)613 AbckitIsaApiStatic const *AbckitGetMockIsaApiStaticImpl([[maybe_unused]] AbckitApiVersion version)
614 {
615     return &libabckit::mock::isa_api_static::g_isaApiStaticImpl;
616 }