Assume that enums always take 1-byte in the codegen and type system

This commit is contained in:
Kamil Śliwak
2020-11-16 18:58:19 +01:00
parent 1bf700e088
commit ade71d58f8
2 changed files with 6 additions and 8 deletions
+4 -6
View File
@@ -2629,7 +2629,8 @@ vector<Type const*> StructType::decomposition() const
TypePointer EnumType::encodingType() const
{
return TypeProvider::uint(8 * storageBytes());
solAssert(numberOfMembers() <= 256, "");
return TypeProvider::uint(8);
}
TypeResult EnumType::unaryOperatorResult(Token _operator) const
@@ -2652,11 +2653,8 @@ bool EnumType::operator==(Type const& _other) const
unsigned EnumType::storageBytes() const
{
size_t elements = numberOfMembers();
if (elements <= 1)
return 1;
else
return util::bytesRequired(elements - 1);
solAssert(numberOfMembers() <= 256, "");
return 1;
}
string EnumType::toString(bool) const