MCPcopy Create free account
hub / github.com/argotorg/solidity / yulIROptimizedAst

Method yulIROptimizedAst

libsolidity/interface/CompilerStack.cpp:1064–1077  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1062}
1063
1064std::optional<Json> CompilerStack::yulIROptimizedAst(std::string const& _contractName) const
1065{
1066 solAssert(m_stackState == CompilationSuccessful, "Compilation was not successful.");
1067 solUnimplementedAssert(!isExperimentalSolidity());
1068
1069 // NOTE: Intentionally not using LazyInit. The artifact can get very large and we don't want to
1070 // keep it around when compiling a large project containing many contracts.
1071 Contract const& currentContract = contract(_contractName);
1072 yulAssert(currentContract.contract);
1073 yulAssert(currentContract.yulIROptimized.has_value() == currentContract.contract->canBeDeployed());
1074 if (!currentContract.yulIROptimized)
1075 return std::nullopt;
1076 return loadGeneratedIR(*currentContract.yulIROptimized).astJson();
1077}
1078
1079evmasm::LinkerObject const& CompilerStack::object(std::string const& _contractName) const
1080{

Callers 2

compileSolidityMethod · 0.80
handleIROptimizedAstMethod · 0.80

Calls 2

canBeDeployedMethod · 0.80
astJsonMethod · 0.80

Tested by

no test coverage detected