argotorg / argotorg/solidity

`ir` output is not included in Standard JSON when requesting all outputs via `*`

Open
#14,363 1 comment 0 reactions 0 assignees View on GitHub
bug :bug: low effort low impact must have eventually
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
2d 19h
Merged PRs (30d)
29

Description

Currently, when you request all outputs in Standard JSON with `"outputSelection": {"*": {"*": ["*"]}`, the `ir` and `irOptimized` outputs are not included.

This seems to be because the IR generation used to be considered experimental: https://github.com/ethereum/solidity/blob/dabecb600f35a089f0206ebecec1fd12647df62b/libsolidity/interface/StandardCompiler.cpp#L191-L196

In 0.8.13 it became a stable feature, and I think that these outputs should have been added to `*` back then.

Contributor guide

Open the contributing guide

Research direction

Start in libsolidity/interface/StandardCompiler.cpp around lines 191-196, where the output-selection behavior is described in the issue. Trace how the `*` selection is expanded for Standard JSON and compare it with the stable `ir` and `irOptimized` outputs. Done means requesting all outputs via `{"*":{"*":["*"]}}` includes both outputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.