Turn unreachable error into assertion

This commit is contained in:
Alex Beregszaszi 2021-02-15 20:28:38 +00:00
parent 3c4ef23809
commit ded5d721d2
2 changed files with 6 additions and 5 deletions

View File

@ -530,10 +530,11 @@ void AsmAnalyzer::checkAssignment(Identifier const& _variable, YulString _valueT
bool found = false;
if (Scope::Identifier const* var = m_currentScope->lookup(_variable.name))
{
// Check that it is a variable
if (!holds_alternative<Scope::Variable>(*var))
m_errorReporter.typeError(2657_error, _variable.location, "Assignment requires variable.");
else if (!m_activeVariables.count(&std::get<Scope::Variable>(*var)))
// Check that it is a variable.
// This can also hold a function, but that is caught by error 6041.
yulAssert(holds_alternative<Scope::Variable>(*var), "Assignment requires variable.");
if (!m_activeVariables.count(&std::get<Scope::Variable>(*var)))
m_errorReporter.declarationError(
1133_error,
_variable.location,

View File

@ -221,7 +221,7 @@ def examine_id_coverage(top_dir, source_id_to_file_names, new_ids_only=False):
old_source_only_ids = {
"1584", "1823",
"1988", "2066", "2657", "2800", "3356",
"1988", "2066", "2800", "3356",
"3893", "3996", "4010", "4802",
"5073", "5272", "5622", "7128",
"7589", "7593", "8065", "8084", "8140",