Backed out changeset 5259dd26dcc7 (bug 1608183) for bustages on Stencil.h. CLOSED TREE

This commit is contained in:
Narcis Beleuzu 2020-01-14 21:58:10 +02:00
parent a3855f0622
commit bcfe24bfe4
4 changed files with 11 additions and 15 deletions

View File

@ -21,11 +21,11 @@ class Scope;
class GlobalScope;
class EvalScope;
class GCMarker;
class ScopeCreationData;
namespace frontend {
struct ParseInfo;
class FunctionBox;
class ScopeCreationData;
} // namespace frontend
using ScopeIndex = frontend::TypedIndex<Scope>;
@ -89,7 +89,7 @@ class AbstractScope {
bool isScopeCreationData() const { return scope_.is<Deferred>(); }
// Note: this handle is rooted in the ParseInfo.
MutableHandle<frontend::ScopeCreationData> scopeCreationData() const;
MutableHandle<ScopeCreationData> scopeCreationData() const;
Scope* scope() const { return scope_.as<HeapPtrScope>(); }

View File

@ -184,6 +184,8 @@ class BigIntCreationData {
using BigIntIndex = TypedIndex<BigIntCreationData>;
} /* namespace frontend */
class ScopeCreationData {
friend class AbstractScope;
friend class GCMarker;
@ -319,13 +321,12 @@ class ScopeCreationData {
}
};
} /* namespace frontend */
} /* namespace js */
namespace JS {
template <>
struct GCPolicy<js::frontend::ScopeCreationData*> {
static void trace(JSTracer* trc, js::frontend::ScopeCreationData** data,
struct GCPolicy<js::ScopeCreationData*> {
static void trace(JSTracer* trc, js::ScopeCreationData** data,
const char* name) {
(*data)->trace(trc);
}

View File

@ -26,7 +26,6 @@
#include "vm/Shape-inl.h"
using namespace js;
using namespace js::frontend;
using mozilla::Maybe;

View File

@ -25,10 +25,6 @@
namespace js {
namespace frontend {
class ScopeCreationData;
};
class BaseScopeData;
class ModuleObject;
class AbstractScope;
@ -243,7 +239,7 @@ class WrappedPtrOperations<Scope*, Wrapper> {
//
class Scope : public js::gc::TenuredCell {
friend class GCMarker;
friend class frontend::ScopeCreationData;
friend class ScopeCreationData;
// The enclosing scope or nullptr.
const GCPtrScope enclosing_;
@ -397,7 +393,7 @@ class LexicalScope : public Scope {
friend class Scope;
friend class BindingIter;
friend class GCMarker;
friend class frontend::ScopeCreationData;
friend class ScopeCreationData;
public:
// Data is public because it is created by the frontend. See
@ -625,7 +621,7 @@ class VarScope : public Scope {
friend class GCMarker;
friend class BindingIter;
friend class Scope;
friend class frontend::ScopeCreationData;
friend class ScopeCreationData;
public:
// Data is public because it is created by the
@ -800,7 +796,7 @@ class EvalScope : public Scope {
friend class Scope;
friend class BindingIter;
friend class GCMarker;
friend class frontend::ScopeCreationData;
friend class ScopeCreationData;
public:
// Data is public because it is created by the frontend. See
@ -887,7 +883,7 @@ class ModuleScope : public Scope {
friend class BindingIter;
friend class Scope;
friend class AbstractScope;
friend class frontend::ScopeCreationData;
friend class ScopeCreationData;
static const ScopeKind classScopeKind_ = ScopeKind::Module;
public: