aboutsummaryrefslogtreecommitdiffstats
path: root/qmljs_objects.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2012-12-14 11:32:52 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2012-12-14 13:10:25 +0100
commite1c5e2f03b9c2bee49dfc64376de1b880ca530c0 (patch)
tree21ff34362696b80d0ae9a991312d9ff5b2fd34a5 /qmljs_objects.h
parent3a9321de688e2d81fd16e7d4710325810840a6ea (diff)
Fixes for the arguments object
We now pass most of the test cases for it. Change-Id: Idc43a9baa75c3c1e8fe760d78cf5e6092f051c6e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'qmljs_objects.h')
-rw-r--r--qmljs_objects.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/qmljs_objects.h b/qmljs_objects.h
index ab309718a0..21dc82a2cc 100644
--- a/qmljs_objects.h
+++ b/qmljs_objects.h
@@ -539,6 +539,7 @@ struct Function {
QVector<Function *> nestedFunctions;
bool hasDirectEval: 1;
+ bool usesArgumentsObject : 1;
bool isStrict: 1;
Function(const QString &name)
@@ -546,6 +547,7 @@ struct Function {
, code(0)
, codeData(0)
, hasDirectEval(false)
+ , usesArgumentsObject(false)
, isStrict(false)
{}
~Function();
@@ -563,6 +565,7 @@ struct FunctionObject: Object {
String **varList;
unsigned int varCount;
bool needsActivation;
+ bool usesArgumentsObject;
bool strictMode;
FunctionObject(ExecutionContext *scope)
@@ -573,6 +576,7 @@ struct FunctionObject: Object {
, varList(0)
, varCount(0)
, needsActivation(false)
+ , usesArgumentsObject(false)
, strictMode(false) {}
virtual QString className() { return QStringLiteral("Function"); }
@@ -706,13 +710,9 @@ struct URIErrorObject: ErrorObject {
};
struct ArgumentsObject: Object {
- ExecutionContext *context;
ArgumentsObject(ExecutionContext *context);
virtual QString className() { return QStringLiteral("Arguments"); }
virtual ArgumentsObject *asArgumentsObject() { return this; }
- virtual Value __get__(ExecutionContext *ctx, String *name, bool *hasProperty);
- virtual void __put__(ExecutionContext *ctx, String *name, Value value);
- virtual bool __canPut__(ExecutionContext *ctx, String *name);
};
} // namespace VM