mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] Fix visit to IndexAccess that has type Type
This commit is contained in:
parent
27097b3eca
commit
9eda95caf9
@ -899,11 +899,8 @@ void SMTEncoder::endVisit(IndexAccess const& _indexAccess)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_indexAccess.indexExpression())
|
if (_indexAccess.annotation().type->category() == Type::Category::TypeType)
|
||||||
{
|
|
||||||
solAssert(_indexAccess.annotation().type->category() == Type::Category::TypeType, "");
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
solAssert(array, "");
|
solAssert(array, "");
|
||||||
defineExpr(_indexAccess, smt::Expression::select(
|
defineExpr(_indexAccess, smt::Expression::select(
|
||||||
|
@ -3,13 +3,16 @@ pragma experimental "ABIEncoderV2";
|
|||||||
|
|
||||||
contract C {
|
contract C {
|
||||||
struct S { uint x; uint[] b; }
|
struct S { uint x; uint[] b; }
|
||||||
function f() public pure returns (S memory, bytes memory) {
|
function f() public pure returns (S memory, bytes memory, uint[][2] memory) {
|
||||||
return abi.decode("abc", (S, bytes));
|
return abi.decode("abc", (S, bytes, uint[][2]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (32-67): Experimental features are turned on. Do not use experimental features on live deployments.
|
// Warning: (32-67): Experimental features are turned on. Do not use experimental features on live deployments.
|
||||||
// Warning: (151-159): Assertion checker does not yet support the type of this variable.
|
// Warning: (151-159): Assertion checker does not yet support the type of this variable.
|
||||||
// Warning: (188-191): Assertion checker does not yet implement type abi
|
// Warning: (206-209): Assertion checker does not yet implement type abi
|
||||||
// Warning: (207-208): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
// Warning: (225-226): Assertion checker does not yet implement type type(struct C.S storage pointer)
|
||||||
// Warning: (188-217): Assertion checker does not yet implement this type of function call.
|
// Warning: (235-241): Assertion checker does not yet implement type type(uint256[] memory)
|
||||||
|
// Warning: (235-241): Assertion checker does not yet implement this expression.
|
||||||
|
// Warning: (235-244): Assertion checker does not yet implement type type(uint256[] memory[2] memory)
|
||||||
|
// Warning: (206-246): Assertion checker does not yet implement this type of function call.
|
||||||
|
Loading…
Reference in New Issue
Block a user