MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / VisitExprs

Method VisitExprs

mediumlevelilinstruction.cpp:1404–1613  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1402
1403
1404void MediumLevelILInstruction::VisitExprs(const std::function<bool(const MediumLevelILInstruction& expr)>& func) const
1405{
1406 if (!func(*this))
1407 return;
1408 switch (operation)
1409 {
1410 case MLIL_SET_VAR:
1411 GetSourceExpr<MLIL_SET_VAR>().VisitExprs(func);
1412 break;
1413 case MLIL_SET_VAR_SSA:
1414 GetSourceExpr<MLIL_SET_VAR_SSA>().VisitExprs(func);
1415 break;
1416 case MLIL_SET_VAR_ALIASED:
1417 GetSourceExpr<MLIL_SET_VAR_ALIASED>().VisitExprs(func);
1418 break;
1419 case MLIL_SET_VAR_SPLIT:
1420 GetSourceExpr<MLIL_SET_VAR_SPLIT>().VisitExprs(func);
1421 break;
1422 case MLIL_SET_VAR_SPLIT_SSA:
1423 GetSourceExpr<MLIL_SET_VAR_SPLIT_SSA>().VisitExprs(func);
1424 break;
1425 case MLIL_SET_VAR_FIELD:
1426 GetSourceExpr<MLIL_SET_VAR_FIELD>().VisitExprs(func);
1427 break;
1428 case MLIL_SET_VAR_SSA_FIELD:
1429 GetSourceExpr<MLIL_SET_VAR_SSA_FIELD>().VisitExprs(func);
1430 break;
1431 case MLIL_SET_VAR_ALIASED_FIELD:
1432 GetSourceExpr<MLIL_SET_VAR_ALIASED_FIELD>().VisitExprs(func);
1433 break;
1434 case MLIL_CALL:
1435 GetDestExpr<MLIL_CALL>().VisitExprs(func);
1436 for (auto i : GetParameterExprs<MLIL_CALL>())
1437 i.VisitExprs(func);
1438 break;
1439 case MLIL_CALL_UNTYPED:
1440 GetDestExpr<MLIL_CALL_UNTYPED>().VisitExprs(func);
1441 for (auto i : GetParameterExprs<MLIL_CALL_UNTYPED>())
1442 i.VisitExprs(func);
1443 break;
1444 case MLIL_CALL_SSA:
1445 GetDestExpr<MLIL_CALL_SSA>().VisitExprs(func);
1446 for (auto i : GetParameterExprs<MLIL_CALL_SSA>())
1447 i.VisitExprs(func);
1448 break;
1449 case MLIL_CALL_UNTYPED_SSA:
1450 GetDestExpr<MLIL_CALL_UNTYPED_SSA>().VisitExprs(func);
1451 for (auto i : GetParameterExprs<MLIL_CALL_UNTYPED_SSA>())
1452 i.VisitExprs(func);
1453 break;
1454 case MLIL_SYSCALL:
1455 for (auto i : GetParameterExprs<MLIL_SYSCALL>())
1456 i.VisitExprs(func);
1457 break;
1458 case MLIL_SYSCALL_UNTYPED:
1459 for (auto i : GetParameterExprs<MLIL_SYSCALL_UNTYPED>())
1460 i.VisitExprs(func);
1461 break;

Callers

nothing calls this directly

Calls 4

GetSourceExprMethod · 0.45
GetLeftExprMethod · 0.45
GetRightExprMethod · 0.45
GetCarryExprMethod · 0.45

Tested by

no test coverage detected