diff options
Diffstat (limited to 'libsolidity/interface')
-rw-r--r-- | libsolidity/interface/CompilerStack.cpp | 5 | ||||
-rw-r--r-- | libsolidity/interface/StandardCompiler.cpp | 30 |
2 files changed, 7 insertions, 28 deletions
diff --git a/libsolidity/interface/CompilerStack.cpp b/libsolidity/interface/CompilerStack.cpp index 79855060..9c9c9614 100644 --- a/libsolidity/interface/CompilerStack.cpp +++ b/libsolidity/interface/CompilerStack.cpp @@ -80,8 +80,11 @@ void CompilerStack::setRemappings(vector<string> const& _remappings) void CompilerStack::reset(bool _keepSources) { if (_keepSources) + { + m_stackState = SourcesSet; for (auto sourcePair: m_sources) sourcePair.second.reset(); + } else { m_sources.clear(); @@ -161,7 +164,7 @@ bool CompilerStack::parse() bool CompilerStack::analyze() { - if (m_stackState < ParsingSuccessful) + if (m_stackState != ParsingSuccessful) return false; resolveImports(); diff --git a/libsolidity/interface/StandardCompiler.cpp b/libsolidity/interface/StandardCompiler.cpp index 2b5e861b..223cc15d 100644 --- a/libsolidity/interface/StandardCompiler.cpp +++ b/libsolidity/interface/StandardCompiler.cpp @@ -391,10 +391,10 @@ Json::Value StandardCompiler::compileInternal(Json::Value const& _input) // ABI, documentation and metadata Json::Value contractData(Json::objectValue); - contractData["abi"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::ABIInterface)); + contractData["abi"] = m_compilerStack.metadata(contractName, DocumentationType::ABIInterface); contractData["metadata"] = m_compilerStack.onChainMetadata(contractName); - contractData["userdoc"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::NatspecUser)); - contractData["devdoc"] = dev::jsonCompactPrint(m_compilerStack.metadata(contractName, DocumentationType::NatspecDev)); + contractData["userdoc"] = m_compilerStack.metadata(contractName, DocumentationType::NatspecUser); + contractData["devdoc"] = m_compilerStack.metadata(contractName, DocumentationType::NatspecDev); // EVM Json::Value evmData(Json::objectValue); @@ -425,30 +425,6 @@ Json::Value StandardCompiler::compileInternal(Json::Value const& _input) } output["contracts"] = contractsOutput; - { - ErrorList formalErrors; - if (m_compilerStack.prepareFormalAnalysis(&formalErrors)) - output["why3"] = m_compilerStack.formalTranslation(); - - for (auto const& error: formalErrors) - { - auto err = dynamic_pointer_cast<Error const>(error); - - errors.append(formatErrorWithException( - *error, - err->type() == Error::Type::Warning, - err->typeName(), - "general", - "", - scannerFromSourceName - )); - } - - // FIXME!! - if (!formalErrors.empty()) - output["errors"] = errors; - } - return output; } |