Annotate function ID of functions that may be called via the internal dispatch.

Co-authored-by: Daniel <daniel@ekpyron.org>
This commit is contained in:
Rodrigo Q. Saramago
2023-03-20 20:14:41 +01:00
co-authored by Daniel
parent e7ec40b1af
commit a0e62bbd3d
11 changed files with 1631 additions and 27 deletions
+1 -2
View File
@@ -313,7 +313,7 @@ InternalDispatchMap IRGenerator::generateInternalDispatchFunctions(ContractDefin
solAssert(m_context.functionCollector().contains(IRNames::function(*function)), "");
cases.emplace_back(map<string, string>{
{"funID", to_string(m_context.internalFunctionID(*function, true))},
{"funID", to_string(*function->annotation().internalFunctionID)},
{"name", IRNames::function(*function)}
});
}
@@ -1117,7 +1117,6 @@ void IRGenerator::resetContext(ContractDefinition const& _contract, ExecutionCon
m_context.debugInfoSelection(),
m_context.soliditySourceProvider()
);
newContext.copyFunctionIDsFrom(m_context);
m_context = std::move(newContext);
m_context.setMostDerivedContract(_contract);