diff options
author | chriseth <chris@ethereum.org> | 2016-10-25 20:21:40 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-25 20:21:40 +0800 |
commit | e98d7f4ba45732b47fbdf028186e1b1668850440 (patch) | |
tree | 6371ca861d6de7717d1bf6070df87ccb4d6c3d0a /libsolidity/analysis/SyntaxChecker.cpp | |
parent | 2f7c847ce40fe6726d270a2997b380177ab6e03e (diff) | |
parent | 762f7ac2508d119d1d1b66002c5498663a8d482f (diff) | |
download | dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.tar dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.tar.gz dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.tar.bz2 dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.tar.lz dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.tar.xz dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.tar.zst dexon-solidity-e98d7f4ba45732b47fbdf028186e1b1668850440.zip |
Merge pull request #1155 from ethereum/suggestcorrectversion
Suggest correct version for pragma.
Diffstat (limited to 'libsolidity/analysis/SyntaxChecker.cpp')
-rw-r--r-- | libsolidity/analysis/SyntaxChecker.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/libsolidity/analysis/SyntaxChecker.cpp b/libsolidity/analysis/SyntaxChecker.cpp index dc8c1806..dbaa15ed 100644 --- a/libsolidity/analysis/SyntaxChecker.cpp +++ b/libsolidity/analysis/SyntaxChecker.cpp @@ -52,13 +52,22 @@ void SyntaxChecker::endVisit(SourceUnit const& _sourceUnit) { if (!m_versionPragmaFound) { + string errorString("Source file does not specify required compiler version!"); + SemVerVersion recommendedVersion{string(VersionString)}; + if (!recommendedVersion.isPrerelease()) + errorString += + "Consider adding \"pragma solidity ^" + + to_string(recommendedVersion.major()) + + string(".") + + to_string(recommendedVersion.minor()) + + string(".") + + to_string(recommendedVersion.patch()); + string(";\""); + auto err = make_shared<Error>(Error::Type::Warning); *err << errinfo_sourceLocation(_sourceUnit.location()) << - errinfo_comment( - string("Source file does not specify required compiler version! ") + - string("Consider adding \"pragma solidity ^") + VersionNumber + string(";\".") - ); + errinfo_comment(errorString); m_errors.push_back(err); } } |