aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface/CompilerStack.h
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-07-26 22:37:16 +0800
committerGitHub <noreply@github.com>2017-07-26 22:37:16 +0800
commit43002b7bb8973e02919f23dcea099cb9877e9579 (patch)
tree6270037929123b5a95038a6bd7f3b6a305d516ac /libsolidity/interface/CompilerStack.h
parent887823dca6e244d4dae84ca545fe3f0e8170b3d0 (diff)
parent30012db396793efad5dba9a2bbb64d34994709ce (diff)
downloaddexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.tar
dexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.tar.gz
dexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.tar.bz2
dexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.tar.lz
dexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.tar.xz
dexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.tar.zst
dexon-solidity-43002b7bb8973e02919f23dcea099cb9877e9579.zip
Merge pull request #2599 from ethereum/compilerstack-cleanup
Cleanup compilerstack (remove old methods and clean compile)
Diffstat (limited to 'libsolidity/interface/CompilerStack.h')
-rw-r--r--libsolidity/interface/CompilerStack.h40
1 files changed, 20 insertions, 20 deletions
diff --git a/libsolidity/interface/CompilerStack.h b/libsolidity/interface/CompilerStack.h
index 6b8fb538..356389db 100644
--- a/libsolidity/interface/CompilerStack.h
+++ b/libsolidity/interface/CompilerStack.h
@@ -96,46 +96,45 @@ public:
/// Sets path remappings in the format "context:prefix=target"
void setRemappings(std::vector<std::string> const& _remappings);
+ /// Sets library addresses. Addresses are cleared iff @a _libraries is missing.
+ /// Will not take effect before running compile.
+ void setLibraries(std::map<std::string, h160> const& _libraries = std::map<std::string, h160>{})
+ {
+ m_libraries = _libraries;
+ }
+
+ /// Changes the optimiser settings.
+ /// Will not take effect before running compile.
+ void setOptimiserSettings(bool _optimize, unsigned _runs = 200)
+ {
+ m_optimize = _optimize;
+ m_optimizeRuns = _runs;
+ }
+
/// Resets the compiler to a state where the sources are not parsed or even removed.
+ /// Sets the state to SourcesSet if @a _keepSources is true, otherwise to Empty.
+ /// All settings, with the exception of remappings, are reset.
void reset(bool _keepSources = false);
/// Adds a source object (e.g. file) to the parser. After this, parse has to be called again.
/// @returns true if a source object by the name already existed and was replaced.
- void addSources(StringMap const& _nameContents, bool _isLibrary = false)
- {
- for (auto const& i: _nameContents) addSource(i.first, i.second, _isLibrary);
- }
bool addSource(std::string const& _name, std::string const& _content, bool _isLibrary = false);
- void setSource(std::string const& _sourceCode);
/// Parses all source units that were added
/// @returns false on error.
bool parse();
- /// Sets the given source code as the only source unit apart from standard sources and parses it.
- /// @returns false on error.
- bool parse(std::string const& _sourceCode);
- /// performs the analyisis steps (imports, scopesetting, syntaxCheck, referenceResolving,
+ /// Performs the analysis steps (imports, scopesetting, syntaxCheck, referenceResolving,
/// typechecking, staticAnalysis) on previously set sources
/// @returns false on error.
bool analyze();
/// Parses and analyzes all source units that were added
/// @returns false on error.
bool parseAndAnalyze();
- /// Sets the given source code as the only source unit apart from standard sources and parses and analyzes it.
- /// @returns false on error.
- bool parseAndAnalyze(std::string const& _sourceCode);
/// @returns a list of the contract names in the sources.
std::vector<std::string> contractNames() const;
/// Compiles the source units that were previously added and parsed.
/// @returns false on error.
- bool compile(
- bool _optimize = false,
- unsigned _runs = 200,
- std::map<std::string, h160> const& _libraries = std::map<std::string, h160>{}
- );
- /// Parses and compiles the given source code.
- /// @returns false on error.
- bool compile(std::string const& _sourceCode, bool _optimize = false, unsigned _runs = 200);
+ bool compile();
/// @returns the assembled object for a contract.
eth::LinkerObject const& object(std::string const& _contractName = "") const;
@@ -202,6 +201,7 @@ public:
/// @returns the list of errors that occured during parsing and type checking.
ErrorList const& errors() { return m_errorReporter.errors(); }
+ /// @returns the current state.
State state() const { return m_stackState; }
private: