aboutsummaryrefslogtreecommitdiffstats
path: root/CompilerStack.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-05-26 21:48:10 +0800
committerchriseth <c@ethdev.com>2015-05-26 21:48:10 +0800
commitf7e3568c6202b940394097f147e0c4e6ffe7fe9c (patch)
tree29e5fdbd8a07f5e232f1a487e6544b25c4c73e54 /CompilerStack.h
parentb85f66060f054ecfb160314cc46e9b47bea403e3 (diff)
parent6332bff81d806b60131dbf87eddba75c88e9d42a (diff)
downloaddexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.tar
dexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.tar.gz
dexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.tar.bz2
dexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.tar.lz
dexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.tar.xz
dexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.tar.zst
dexon-solidity-f7e3568c6202b940394097f147e0c4e6ffe7fe9c.zip
Merge pull request #2006 from chriseth/sol_functionalGasEstimator
Functional gas estimator
Diffstat (limited to 'CompilerStack.h')
-rw-r--r--CompilerStack.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/CompilerStack.h b/CompilerStack.h
index 0bc109a2..6be45aec 100644
--- a/CompilerStack.h
+++ b/CompilerStack.h
@@ -48,6 +48,7 @@ namespace solidity
// forward declarations
class Scanner;
class ContractDefinition;
+class FunctionDefinition;
class SourceUnit;
class Compiler;
class GlobalContext;
@@ -131,6 +132,13 @@ public:
/// does not exist.
ContractDefinition const& getContractDefinition(std::string const& _contractName) const;
+ /// @returns the offset of the entry point of the given function into the list of assembly items
+ /// or zero if it is not found or does not exist.
+ size_t getFunctionEntryPoint(
+ std::string const& _contractName,
+ FunctionDefinition const& _function
+ ) const;
+
/// Compile the given @a _sourceCode to bytecode. If a scanner is provided, it is used for
/// scanning the source code - this is useful for printing exception information.
static bytes staticCompile(std::string const& _sourceCode, bool _optimize = false);