aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-05-01 00:19:07 +0800
committerGitHub <noreply@github.com>2018-05-01 00:19:07 +0800
commit15024154ab5b5211b9567be0b917cb2cbacc87f2 (patch)
tree425fc47134b99db0eb91a9c5856956a5b822e65e /libsolidity/ast
parent05248f5a1b6f6122100291f02a6efcb0b5c8f0a0 (diff)
parent548bf2ff2812cc2fe43f60e915fd62ad9f3cbf87 (diff)
downloaddexon-solidity-15024154ab5b5211b9567be0b917cb2cbacc87f2.tar.gz
dexon-solidity-15024154ab5b5211b9567be0b917cb2cbacc87f2.tar.zst
dexon-solidity-15024154ab5b5211b9567be0b917cb2cbacc87f2.zip
Merge pull request #4018 from ethereum/disable-bytes0
Disable FixedBytesType(0) aka bytes0
Diffstat (limited to 'libsolidity/ast')
-rw-r--r--libsolidity/ast/Types.cpp13
-rw-r--r--libsolidity/ast/Types.h4
2 files changed, 4 insertions, 13 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 60b4d726..11d7160c 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -1264,17 +1264,12 @@ bool StringLiteralType::isValidUTF8() const
return dev::validateUTF8(m_value);
}
-shared_ptr<FixedBytesType> FixedBytesType::smallestTypeForLiteral(string const& _literal)
-{
- if (_literal.length() <= 32)
- return make_shared<FixedBytesType>(_literal.length());
- return shared_ptr<FixedBytesType>();
-}
-
FixedBytesType::FixedBytesType(int _bytes): m_bytes(_bytes)
{
- solAssert(m_bytes >= 0 && m_bytes <= 32,
- "Invalid byte number for fixed bytes type: " + dev::toString(m_bytes));
+ solAssert(
+ m_bytes > 0 && m_bytes <= 32,
+ "Invalid byte number for fixed bytes type: " + dev::toString(m_bytes)
+ );
}
bool FixedBytesType::isImplicitlyConvertibleTo(Type const& _convertTo) const
diff --git a/libsolidity/ast/Types.h b/libsolidity/ast/Types.h
index b41b2235..a9536657 100644
--- a/libsolidity/ast/Types.h
+++ b/libsolidity/ast/Types.h
@@ -505,10 +505,6 @@ class FixedBytesType: public Type
public:
virtual Category category() const override { return Category::FixedBytes; }
- /// @returns the smallest bytes type for the given literal or an empty pointer
- /// if no type fits.
- static std::shared_ptr<FixedBytesType> smallestTypeForLiteral(std::string const& _literal);
-
explicit FixedBytesType(int _bytes);
virtual bool isImplicitlyConvertibleTo(Type const& _convertTo) const override;