@@ -391,6 +391,14 @@ class CompilerStack: public langutil::CharStreamProvider, public evmasm::Abstrac
391391 // / @returns a JSON object with the three members ``methods``, ``events``, ``errors``. Each is a map, mapping identifiers (hashes) to function names.
392392 Json interfaceSymbols (std::string const & _contractName) const ;
393393
394+ // / @returns a JSON representing the ethdebug data of the specified contract.
395+ // / Prerequisite: Successful call to parse or compile.
396+ Json ethdebug (std::string const & _contractName, bool _runtime) const override ;
397+
398+ // / @returns a JSON representing the top-level ethdebug data (types, etc.).
399+ // / Prerequisite: Successful call to parse or compile.
400+ Json ethdebug () const override ;
401+
394402 // / @returns the Contract Metadata matching the pipeline selected using the viaIR setting.
395403 std::string const & metadata (std::string const & _contractName) const { return metadata (contract (_contractName)); }
396404
@@ -571,6 +579,10 @@ class CompilerStack: public langutil::CharStreamProvider, public evmasm::Abstrac
571579 // / This will generate the metadata and store it in the Contract object if it is not present yet.
572580 std::string const & metadata (Contract const & _contract) const ;
573581
582+ // / @returns the Contract ethdebug data.
583+ // / This will generate the JSON object and store it in the Contract object if it is not present yet.
584+ Json ethdebug (Contract const & _contract, bool _runtime) const ;
585+
574586 // / @returns the offset of the entry point of the given function into the list of assembly items
575587 // / or zero if it is not found or does not exist.
576588 size_t functionEntryPoint (
0 commit comments