Fix internal error when using user defined value types as mapping indices or struct members.

This commit is contained in:
Leo Alt
2022-11-29 13:04:01 +01:00
parent cc8baf7ea8
commit 608b424afc
10 changed files with 192 additions and 1 deletions
+4 -1
View File
@@ -1403,7 +1403,10 @@ bool SMTEncoder::visit(MemberAccess const& _memberAccess)
{
if (auto const* var = dynamic_cast<VariableDeclaration const*>(_memberAccess.annotation().referencedDeclaration))
{
defineExpr(_memberAccess, currentValue(*var));
if (var->isConstant())
defineExpr(_memberAccess, constantExpr(_memberAccess, *var));
else
defineExpr(_memberAccess, currentValue(*var));
return false;
}
}