Merge pull request #4472 from ethereum/complexCalldataArraysNotYetImplemented

Throw unimplemented exception for complex calldata arrays.
This commit is contained in:
chriseth 2018-07-11 23:48:42 +02:00 committed by GitHub
commit 2b8091526f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1188,7 +1188,8 @@ string ABIFunctions::abiDecodingFunctionCalldataArray(ArrayType const& _type)
solAssert(_type.dataStoredIn(DataLocation::CallData), "");
if (!_type.isDynamicallySized())
solAssert(_type.length() < u256("0xffffffffffffffff"), "");
solAssert(!_type.baseType()->isDynamicallyEncoded(), "");
if (_type.baseType()->isDynamicallyEncoded())
solUnimplemented("Calldata arrays with non-value base types are not yet supported by Solidity.");
solAssert(_type.baseType()->calldataEncodedSize() < u256("0xffffffffffffffff"), "");
string functionName =