Better error messages when writing to expressions that cannot be written to.

This commit is contained in:
Daniel Kirchner
2019-08-14 17:59:48 +02:00
parent fd7215dad0
commit b0a5666b43
20 changed files with 187 additions and 14 deletions
+7 -2
View File
@@ -432,8 +432,13 @@ string Scopable::sourceUnitName() const
bool VariableDeclaration::isLValue() const
{
// External function parameters and constant declared variables are Read-Only
return !isExternalCallableParameter() && !m_isConstant;
// Constant declared variables are Read-Only
if (m_isConstant)
return false;
// External function arguments of reference type are Read-Only
if (isExternalCallableParameter() && dynamic_cast<ReferenceType const*>(type()))
return false;
return true;
}
bool VariableDeclaration::isLocalVariable() const