--- a/js/src/frontend/BinSource.cpp
+++ b/js/src/frontend/BinSource.cpp
@@ -2449,16 +2449,40 @@ ASTReader::parsePatternAux(SimpleTokenRe
// For the moment, we only support identifiers.
return this->raiseError();
}
return true;
}
bool
+ASTReader::readString(SimpleTokenReader* reader, MutableHandleString out) {
+ if (out) {
+ return this->raiseError();
+ }
+
+ Maybe<std::string> string;
+ if (!this->readString(reader, string)) {
+ return false;
+ }
+
+ if (!string) {
+ return true;
+ }
+
+ RootedAtom atom(cx, Atomize(this->cx, string->data(), string->length()));
+ if (!atom) {
+ return false;
+ }
+
+ out.set(Move(atom));
+ return true;
+}
+
+bool
ASTReader::readString(SimpleTokenReader* reader, MutableHandle<PropertyName*> out) {
if (out) {
return this->raiseError();
}
RootedAtom atom(cx);
if (!this->readString(reader, &atom)) {