aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4compilerscanfunctions.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-22 00:09:31 +0200
committerLars Knoll <lars.knoll@qt.io>2018-06-26 10:04:08 +0000
commit046d1c5db44f409c67244bd70b13077cc03219b2 (patch)
treefae07993dd3c6be0c4b020d20bf49c01c35cb25e /src/qml/compiler/qv4compilerscanfunctions.cpp
parent5faf2e9a693d10e1e689c42deec911083a35ddb2 (diff)
throw a type error when trying to write to a const variable
This makes them really const. The codegen needs some smaller changes to ensure that writing to the variable when it's being defined is allowed. Change-Id: I781b4bc9c0e0397b9d00cad3daf758a062c17600 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4compilerscanfunctions.cpp')
-rw-r--r--src/qml/compiler/qv4compilerscanfunctions.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/compiler/qv4compilerscanfunctions.cpp b/src/qml/compiler/qv4compilerscanfunctions.cpp
index 8b8c385b84..9be55c6ad0 100644
--- a/src/qml/compiler/qv4compilerscanfunctions.cpp
+++ b/src/qml/compiler/qv4compilerscanfunctions.cpp
@@ -230,7 +230,7 @@ bool ScanFunctions::visit(ClassExpression *ast)
_context->isStrict = true;
_context->hasNestedFunctions = true;
if (!ast->name.isEmpty())
- _context->addLocalVar(ast->name.toString(), Context::VariableDeclaration, AST::VariableScope::Let);
+ _context->addLocalVar(ast->name.toString(), Context::VariableDefinition, AST::VariableScope::Const);
return true;
}
@@ -248,7 +248,7 @@ bool ScanFunctions::visit(ClassDeclaration *ast)
_context->isStrict = true;
_context->hasNestedFunctions = true;
if (!ast->name.isEmpty())
- _context->addLocalVar(ast->name.toString(), Context::VariableDeclaration, AST::VariableScope::Let);
+ _context->addLocalVar(ast->name.toString(), Context::VariableDefinition, AST::VariableScope::Const);
return true;
}