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

Function PrintILExpr

examples/mlil_parser/src/mlil_parser.cpp:147–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

145
146
147static void PrintILExpr(const MediumLevelILInstruction& instr, size_t indent)
148{
149 PrintIndent(indent);
150 PrintOperation(instr.operation);
151 printf("\n");
152
153 indent++;
154
155 for (auto& operand : instr.GetOperands())
156 {
157 switch (operand.GetType())
158 {
159 case IntegerMediumLevelOperand:
160 PrintIndent(indent);
161 printf("int 0x%" PRIx64 "\n", operand.GetInteger());
162 break;
163
164 case IndexMediumLevelOperand:
165 PrintIndent(indent);
166 printf("index %" PRIdPTR "\n", operand.GetIndex());
167 break;
168
169 case ExprMediumLevelOperand:
170 PrintILExpr(operand.GetExpr(), indent);
171 break;
172
173 case VariableMediumLevelOperand:
174 PrintIndent(indent);
175 printf("var ");
176 PrintVariable(instr.function, operand.GetVariable());
177 printf("\n");
178 break;
179
180 case SSAVariableMediumLevelOperand:
181 PrintIndent(indent);
182 printf("ssa var ");
183 PrintVariable(instr.function, operand.GetSSAVariable().var);
184 printf("#%" PRIdPTR "\n", operand.GetSSAVariable().version);
185 break;
186
187 case IndexListMediumLevelOperand:
188 PrintIndent(indent);
189 printf("index list ");
190 for (auto i : operand.GetIndexList())
191 printf("%" PRIdPTR " ", i);
192 printf("\n");
193 break;
194
195 case VariableListMediumLevelOperand:
196 PrintIndent(indent);
197 printf("var list ");
198 for (auto i : operand.GetVariableList())
199 {
200 PrintVariable(instr.function, i);
201 printf(" ");
202 }
203 printf("\n");
204 break;

Callers 1

mainFunction · 0.70

Calls 14

PrintVariableFunction · 0.85
GetVariableListMethod · 0.80
PrintIndentFunction · 0.70
PrintOperationFunction · 0.70
GetOperandsMethod · 0.45
GetTypeMethod · 0.45
GetIntegerMethod · 0.45
GetIndexMethod · 0.45
GetExprMethod · 0.45
GetVariableMethod · 0.45
GetSSAVariableMethod · 0.45
GetIndexListMethod · 0.45

Tested by

no test coverage detected