LJ
5a15d893d7
Add support for Yul intermediate view when compiling Solidity ( #8219 )
...
## What
Adds support for seeing Yul (Solidity IR) as intermediate output when
compiling Solidity.
This PR also enables that view for the Resolc compiler.
### Main Additions
- [x] Support viewing Yul in a supplementary view
- Solidity compilers can enable this by setting
`this.compiler.supportsYulView = true` in the compiler's constructor
- If custom processing of the Yul output or the Yul output filename is
needed, the compiler can override `processYulOutput()` or
`getYulOutputFilename()`
- [x] Enable the Yul view for Resolc
- [x] Implement a Yul backend option for filtering out debug info from
the output
### Notes
Source mappings are currently not handled for Yul -> Solidity.
## Overall Usage
### Steps
* Choose Solidity as the language
* Choose a Resolc compiler
* View intermediate results:
* Yul
* (Hide/show debug info by toggling "Hide Debug Info" in the Yul view
filters)
## Screenshots
<img width="1502" height="903" alt="ce-yul-view"
src="https://github.com/user-attachments/assets/ccc897e2-cd8d-4c33-962c-522d60b63134 "
/>
2025-11-04 09:00:19 -06:00
..
2025-10-22 09:04:20 -05:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2024-09-07 14:36:43 +03:00
2025-10-22 09:04:20 -05:00
2025-11-01 12:54:31 +02:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-06-09 18:09:01 -05:00
2025-09-12 14:23:49 -05:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2024-09-07 14:36:43 +03:00
2025-08-16 17:39:09 +03:00
2025-02-02 17:54:31 +00:00
2025-02-26 10:56:10 -06:00
2025-10-22 09:04:20 -05:00
2025-02-02 17:54:31 +00:00
2024-10-22 21:41:44 +03:00
2025-08-11 12:14:13 -05:00
2025-08-11 11:14:26 -05:00
2023-03-17 19:01:39 +01:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-11-01 12:54:31 +02:00
2025-09-12 14:23:49 -05:00
2025-02-02 17:54:31 +00:00
2025-06-16 10:13:32 -05:00
2025-09-12 14:23:49 -05:00
2025-02-02 17:54:31 +00:00
2025-09-27 10:17:55 +03:00
2025-07-28 10:34:46 -05:00
2024-04-16 21:26:53 +02:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2023-02-27 18:06:38 -06:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2024-09-07 14:36:43 +03:00
2024-09-07 14:36:43 +03:00
2025-02-02 17:54:31 +00:00
2024-10-26 15:53:27 +03:00
2025-06-24 07:33:53 +03:00
2025-02-02 17:54:31 +00:00
2025-02-06 11:10:34 -06:00
2025-06-16 10:13:32 -05:00
2023-03-29 10:17:44 +02:00
2024-09-07 14:36:43 +03:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-06 11:10:34 -06:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-09-12 14:23:49 -05:00
2024-10-26 15:53:27 +03:00
2023-02-27 18:06:38 -06:00
2025-07-28 10:34:46 -05:00
2025-11-01 12:54:31 +02:00
2025-10-22 09:04:20 -05:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-06-17 16:19:40 -05:00
2024-10-01 12:26:46 +03:00
2024-10-01 12:26:46 +03:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-02-02 17:54:31 +00:00
2025-08-11 12:14:13 -05:00
2024-05-12 02:16:51 +03:00
2025-02-02 17:54:31 +00:00
2025-01-28 10:00:04 -06:00
2024-10-26 15:53:27 +03:00
2025-07-30 09:55:17 -05:00
2025-05-11 16:15:21 -05:00
2025-09-27 10:17:55 +03:00
2025-06-20 14:46:24 +02:00
2025-06-20 14:46:24 +02:00
2025-06-20 14:46:24 +02:00
2024-10-01 12:26:46 +03:00
2025-09-12 14:23:49 -05:00
2024-10-01 12:26:46 +03:00
2025-02-18 17:23:17 -06:00
2024-10-01 12:26:46 +03:00
2025-06-11 07:11:57 +00:00
2025-09-27 10:17:55 +03:00
2025-09-27 10:17:55 +03:00
2025-02-02 17:54:31 +00:00
2023-02-27 18:06:38 -06:00
2025-09-12 14:23:49 -05:00
2025-09-12 14:23:49 -05:00
2025-02-02 17:54:31 +00:00
2024-12-19 16:32:13 -06:00
2025-07-28 10:34:46 -05:00
2025-07-28 10:34:46 -05:00
2025-09-12 14:23:49 -05:00
2025-11-04 09:00:19 -06:00
2025-07-28 10:34:46 -05:00
2025-09-12 14:23:49 -05:00
2025-10-22 09:58:21 -05:00
2025-02-02 17:54:31 +00:00
2025-04-19 13:56:20 -05:00
2024-10-01 12:26:46 +03:00
2023-02-27 18:06:38 -06:00
2025-02-02 17:54:31 +00:00
2024-10-27 15:28:38 +02:00
2025-02-02 17:54:31 +00:00
2025-09-12 14:23:49 -05:00
2025-07-28 10:34:46 -05:00
2025-11-01 12:54:31 +02:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-07-28 10:34:46 -05:00
2025-10-13 14:20:25 -05:00
2025-08-11 12:14:13 -05:00
2024-10-01 12:26:46 +03:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2024-10-26 15:53:27 +03:00
2025-07-30 10:15:28 -05:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2025-02-02 17:54:31 +00:00
2024-10-01 12:26:46 +03:00
2025-10-11 15:55:26 +02:00
2025-11-01 12:54:31 +02:00
2025-11-01 12:54:31 +02:00
2025-09-27 10:17:55 +03:00
2025-05-11 19:47:58 -05:00
2025-02-02 17:54:31 +00:00
2025-11-01 12:54:31 +02:00
2025-07-19 16:17:43 +03:00
2023-02-27 18:06:38 -06:00
2024-10-01 12:26:46 +03:00