Commit 872d9a5
committed
Extract and model CIL local variables and float/double operands
Adds extraction of local variables and their types from CIL method bodies, and models their usage in QL. Also extracts float and double operands for IL instructions and updates the QL schema and extractor to support these features. Enhances QL classes to provide access to local variables and their indices, and supports float/double constant values in instructions.1 parent 12c61e2 commit 872d9a5
3 files changed
Lines changed: 106 additions & 12 deletions
File tree
- binary
- extractor/cil/Semmle.Extraction.CSharp.IL
- ql/lib
- semmle/code/binary/ast/internal
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
111 | 120 | | |
112 | 121 | | |
113 | 122 | | |
| |||
142 | 151 | | |
143 | 152 | | |
144 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
145 | 157 | | |
146 | 158 | | |
147 | 159 | | |
| |||
152 | 164 | | |
153 | 165 | | |
154 | 166 | | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
155 | 171 | | |
156 | 172 | | |
157 | 173 | | |
| |||
Lines changed: 52 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
6 | 15 | | |
7 | 16 | | |
8 | 17 | | |
| |||
30 | 39 | | |
31 | 40 | | |
32 | 41 | | |
33 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
34 | 47 | | |
35 | 48 | | |
36 | 49 | | |
| |||
156 | 169 | | |
157 | 170 | | |
158 | 171 | | |
159 | | - | |
| 172 | + | |
160 | 173 | | |
161 | 174 | | |
162 | 175 | | |
163 | 176 | | |
164 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
165 | 183 | | |
166 | 184 | | |
167 | | - | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
168 | 196 | | |
169 | 197 | | |
170 | 198 | | |
171 | 199 | | |
172 | 200 | | |
173 | | - | |
| 201 | + | |
174 | 202 | | |
175 | 203 | | |
176 | 204 | | |
| |||
279 | 307 | | |
280 | 308 | | |
281 | 309 | | |
282 | | - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
283 | 314 | | |
284 | 315 | | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
285 | 319 | | |
286 | 320 | | |
287 | 321 | | |
288 | 322 | | |
289 | 323 | | |
290 | | - | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
291 | 328 | | |
292 | 329 | | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
293 | 333 | | |
294 | 334 | | |
295 | 335 | | |
| |||
741 | 781 | | |
742 | 782 | | |
743 | 783 | | |
744 | | - | |
| 784 | + | |
745 | 785 | | |
746 | 786 | | |
747 | 787 | | |
748 | | - | |
| 788 | + | |
749 | 789 | | |
750 | 790 | | |
751 | 791 | | |
| |||
757 | 797 | | |
758 | 798 | | |
759 | 799 | | |
760 | | - | |
| 800 | + | |
761 | 801 | | |
762 | 802 | | |
763 | 803 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2475 | 2475 | | |
2476 | 2476 | | |
2477 | 2477 | | |
| 2478 | + | |
| 2479 | + | |
| 2480 | + | |
| 2481 | + | |
| 2482 | + | |
| 2483 | + | |
| 2484 | + | |
| 2485 | + | |
| 2486 | + | |
| 2487 | + | |
| 2488 | + | |
| 2489 | + | |
| 2490 | + | |
| 2491 | + | |
| 2492 | + | |
| 2493 | + | |
| 2494 | + | |
| 2495 | + | |
| 2496 | + | |
| 2497 | + | |
| 2498 | + | |
| 2499 | + | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
2478 | 2516 | | |
2479 | 2517 | | |
2480 | 2518 | | |
| |||
0 commit comments