зеркало из https://github.com/mozilla/gecko-dev.git
Bug 819509 - Make some JSFunction setters idempotent. r=njn
--HG-- extra : rebase_source : 71dab04f49a84d1d3108d610e33fa7e06a18a143
This commit is contained in:
Родитель
dffd219fbd
Коммит
772cb84b6b
|
@ -113,18 +113,19 @@ struct JSFunction : public JSObject
|
||||||
/* Returns the strictness of this function, which must be interpreted. */
|
/* Returns the strictness of this function, which must be interpreted. */
|
||||||
inline bool inStrictMode() const;
|
inline bool inStrictMode() const;
|
||||||
|
|
||||||
|
// Can be called multiple times by the parser.
|
||||||
void setArgCount(uint16_t nargs) {
|
void setArgCount(uint16_t nargs) {
|
||||||
JS_ASSERT(this->nargs == 0);
|
JS_ASSERT(this->nargs == 0 || this->nargs == nargs);
|
||||||
this->nargs = nargs;
|
this->nargs = nargs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Can be called multiple times by the parser.
|
||||||
void setHasRest() {
|
void setHasRest() {
|
||||||
JS_ASSERT(!hasRest());
|
|
||||||
flags |= HAS_REST;
|
flags |= HAS_REST;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Can be called multiple times by the parser.
|
||||||
void setHasDefaults() {
|
void setHasDefaults() {
|
||||||
JS_ASSERT(!hasDefaults());
|
|
||||||
flags |= HAS_DEFAULTS;
|
flags |= HAS_DEFAULTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,8 +148,8 @@ struct JSFunction : public JSObject
|
||||||
flags |= HEAVYWEIGHT;
|
flags |= HEAVYWEIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Can be called multiple times by the parser.
|
||||||
void setIsExprClosure() {
|
void setIsExprClosure() {
|
||||||
JS_ASSERT(!isExprClosure());
|
|
||||||
flags |= EXPR_CLOSURE;
|
flags |= EXPR_CLOSURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче