diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-03-19 14:48:24 +0100 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-03-19 14:48:24 +0100 |
commit | 75db97cb3772fc0693947ec17c5954a04cb234a8 (patch) | |
tree | dc1035d6da831d7cedda70f770f1f17a2272ed37 /js/src/frontend/SharedContext.h | |
parent | faa5f0df26e09d1f2e633618476294d112c24322 (diff) | |
download | UXP-75db97cb3772fc0693947ec17c5954a04cb234a8.tar UXP-75db97cb3772fc0693947ec17c5954a04cb234a8.tar.gz UXP-75db97cb3772fc0693947ec17c5954a04cb234a8.tar.lz UXP-75db97cb3772fc0693947ec17c5954a04cb234a8.tar.xz UXP-75db97cb3772fc0693947ec17c5954a04cb234a8.zip |
Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScript
Issue #78
[Depends on] Bug 883377: Implement ES6 function "name" property
semantics
Diffstat (limited to 'js/src/frontend/SharedContext.h')
-rw-r--r-- | js/src/frontend/SharedContext.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/js/src/frontend/SharedContext.h b/js/src/frontend/SharedContext.h index 39df47c20..a6ac542f6 100644 --- a/js/src/frontend/SharedContext.h +++ b/js/src/frontend/SharedContext.h @@ -471,6 +471,7 @@ class FunctionBox : public ObjectBox, public SharedContext bool usesApply:1; /* contains an f.apply() call */ bool usesThis:1; /* contains 'this' */ bool usesReturn:1; /* contains a 'return' statement */ + bool hasRest_:1; /* has rest parameter */ FunctionContextFlags funCxFlags; @@ -539,6 +540,11 @@ class FunctionBox : public ObjectBox, public SharedContext bool isAsync() const { return asyncKind() == AsyncFunction; } bool isArrow() const { return function()->isArrow(); } + bool hasRest() const { return hasRest_; } + void setHasRest() { + hasRest_ = true; + } + void setGeneratorKind(GeneratorKind kind) { // A generator kind can be set at initialization, or when "yield" is // first seen. In both cases the transition can only happen from @@ -567,7 +573,7 @@ class FunctionBox : public ObjectBox, public SharedContext void setHasInnerFunctions() { funCxFlags.hasInnerFunctions = true; } bool hasSimpleParameterList() const { - return !function()->hasRest() && !hasParameterExprs && !hasDestructuringArgs; + return !hasRest() && !hasParameterExprs && !hasDestructuringArgs; } bool hasMappedArgsObj() const { |