Bug 1426865 - Add default visibility to JSAPI symbols. r=sfink

Depends on D49098

Differential Revision: https://phabricator.services.mozilla.com/D49099
This commit is contained in:
Philip Chimento
2019-10-27 22:34:11 +00:00
parent 517610da22
commit c44723527d
62 changed files with 163 additions and 128 deletions

View File

@@ -16,8 +16,8 @@
#include "js/GCAPI.h" // JS::AutoRequireNoGC
#include "js/RootingAPI.h" // JS::Handle
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace JS {

View File

@@ -19,10 +19,10 @@
#include "js/RootingAPI.h" // JS::Handle, JS::MutableHandle
#include "js/Value.h" // JS::Value and specializations of JS::*Handle-related types
struct JSContext;
class JSFunction;
class JSObject;
class JSScript;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSFunction;
class JS_PUBLIC_API JSObject;
class JS_PUBLIC_API JSScript;
namespace JS {

View File

@@ -62,10 +62,10 @@
#include "js/RootingAPI.h" // JS::PersistentRooted, JS::Rooted
struct JSContext;
class JSObject;
class JSScript;
class JSString;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
class JS_PUBLIC_API JSScript;
class JS_PUBLIC_API JSString;
namespace JS {

View File

@@ -11,7 +11,7 @@
#include "jstypes.h" // JS_PUBLIC_API
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace JS {

View File

@@ -36,8 +36,8 @@
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::CanonicalizeNaN, JS::DoubleValue, JS::Value
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace JS {

View File

@@ -15,7 +15,7 @@
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace JS {

View File

@@ -31,8 +31,8 @@
#include "js/UniquePtr.h" // js::UniquePtr
#include "js/Vector.h" // js::Vector
struct JSContext;
class JSString;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSString;
/**
* Possible exception types. These types are part of a JSErrorFormatString

View File

@@ -21,8 +21,8 @@
#include "js/RootingAPI.h" // JS::{Handle,Rooted}
#include "js/Value.h" // JS::Value, JS::{,Mutable}Handle<JS::Value>
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace JS {

View File

@@ -9,12 +9,14 @@
#include "mozilla/HashTable.h"
#include "jstypes.h"
namespace js {
using HashNumber = mozilla::HashNumber;
static const uint32_t kHashNumberBits = mozilla::kHashNumberBits;
class TempAllocPolicy;
class JS_PUBLIC_API TempAllocPolicy;
template <class T>
using DefaultHasher = mozilla::DefaultHasher<T>;

View File

@@ -17,9 +17,9 @@
#include "js/RootingAPI.h" // JS::Handle, JS::MutableHandle
#include "js/Value.h" // JS::Value
struct JSContext;
class JSObject;
class JSString;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
class JS_PUBLIC_API JSString;
using JSONWriteCallback = bool (*)(const char16_t* buf, uint32_t len,
void* data);

View File

@@ -17,9 +17,9 @@
#include "js/Utility.h" // JS::UniqueChars
#include "js/Value.h" // JS::Value
struct JSContext;
struct JSRuntime;
class JSString;
struct JS_PUBLIC_API JSContext;
struct JS_PUBLIC_API JSRuntime;
class JS_PUBLIC_API JSString;
/**
* Set the default locale for the ECMAScript Internationalization API

View File

@@ -15,10 +15,10 @@
#include "jstypes.h" // JS_PUBLIC_API
struct JSContext;
class JSFreeOp;
class JSObject;
struct JSRuntime;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSFreeOp;
class JS_PUBLIC_API JSObject;
struct JS_PUBLIC_API JSRuntime;
extern JS_PUBLIC_API void* JS_malloc(JSContext* cx, size_t nbytes);

View File

@@ -19,10 +19,10 @@
#include "js/RootingAPI.h" // JS::{Mutable,}Handle
#include "js/Value.h" // JS::Value
struct JSContext;
class JSObject;
struct JSRuntime;
class JSString;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
struct JS_PUBLIC_API JSRuntime;
class JS_PUBLIC_API JSString;
namespace JS {
template <typename UnitT>

View File

@@ -23,8 +23,8 @@
#include "js/GCVector.h" // JS::GCVector
#include "js/Transcoding.h" // JS::TranscodeSource
struct JSContext;
class JSScript;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSScript;
namespace JS {

View File

@@ -18,8 +18,8 @@
#include "js/RootingAPI.h" // JS::Handle, js::{,Mutable}WrappedPtrOperations
#include "js/Value.h" // JS::Value
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
class JS_PUBLIC_API JSTracer;
/* Property attributes, set in JSPropertySpec and passed to API functions.

View File

@@ -22,7 +22,7 @@
#include "js/Symbol.h" // JS::SymbolCode, PropertySpecNameIsSymbol
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
struct JSJitInfo;
/**

View File

@@ -19,14 +19,14 @@
#include "js/Class.h" // JSTraceOp
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace JS {
class Compartment;
class Realm;
class Zone;
class JS_PUBLIC_API Compartment;
class JS_PUBLIC_API Realm;
class JS_PUBLIC_API Zone;
} // namespace JS

View File

@@ -17,8 +17,8 @@
#include "js/RootingAPI.h" // JS::{,Mutable}Handle
#include "js/Value.h" // JS::Value
struct JSContext;
class JSString;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSString;
namespace JS {

View File

@@ -15,8 +15,9 @@
#include "js/RootingAPI.h" // JS::Handle, JS::MutableHandle
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
struct JSPrincipals;
namespace JS {

View File

@@ -15,8 +15,8 @@
#include "js/GCAPI.h" // JS::AutoRequireNoGC
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace JS {

View File

@@ -15,12 +15,12 @@
#include "js/RootingAPI.h" // JS::Handle
struct JSContext;
class JSString;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSString;
namespace JS {
class Symbol;
class JS_PUBLIC_API Symbol;
/**
* Create a new Symbol with the given description. This function never returns

View File

@@ -19,10 +19,10 @@
#include "js/RootingAPI.h" // JS::Handle, JS::MutableHandle
struct JSContext;
class JSFunction;
class JSObject;
class JSScript;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSFunction;
class JS_PUBLIC_API JSObject;
class JS_PUBLIC_API JSScript;
namespace JS {

View File

@@ -21,37 +21,38 @@
#include <stdint.h>
#include "js-config.h"
#include "jstypes.h"
typedef uint8_t jsbytecode;
class JSAtom;
struct JSContext;
struct JSClass;
class JSFunction;
class JSFreeOp;
class JSObject;
struct JSRuntime;
class JSScript;
class JSString;
class JS_PUBLIC_API JSAtom;
struct JS_PUBLIC_API JSContext;
struct JS_PUBLIC_API JSClass;
class JS_PUBLIC_API JSFunction;
class JS_PUBLIC_API JSFreeOp;
class JS_PUBLIC_API JSObject;
struct JS_PUBLIC_API JSRuntime;
class JS_PUBLIC_API JSScript;
class JS_PUBLIC_API JSString;
namespace js {
class TempAllocPolicy;
class JS_PUBLIC_API TempAllocPolicy;
}; // namespace js
namespace JS {
struct PropertyKey;
struct JS_PUBLIC_API PropertyKey;
typedef unsigned char Latin1Char;
class Symbol;
class BigInt;
class Value;
class JS_PUBLIC_API Symbol;
class JS_PUBLIC_API BigInt;
class JS_PUBLIC_API Value;
class Compartment;
class Realm;
struct Runtime;
class Zone;
class JS_PUBLIC_API Compartment;
class JS_PUBLIC_API Realm;
struct JS_PUBLIC_API Runtime;
class JS_PUBLIC_API Zone;
template <typename T>
class Handle;

View File

@@ -27,7 +27,7 @@
#include "js/Utility.h"
namespace JS {
class Value;
class JS_PUBLIC_API Value;
}
/* JS::Value can store a full int32_t. */

View File

@@ -12,7 +12,7 @@
namespace js {
class TempAllocPolicy;
class JS_PUBLIC_API TempAllocPolicy;
namespace detail {

View File

@@ -27,7 +27,7 @@
#include "jstypes.h" // JS_PUBLIC_API
struct JSContext;
struct JS_PUBLIC_API JSContext;
class JSErrorReport;
namespace JS {

View File

@@ -42,7 +42,7 @@
#include "jstypes.h" // JS_FRIEND_API
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -9,9 +9,10 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/RootingAPI.h" // JS::Handle
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -11,12 +11,13 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/CallArgs.h" // JS::CallArgs
#include "js/RootingAPI.h" // JS::{,Mutable}Handle
#include "js/Value.h" // JS::Value
#include "vm/JSObject.h" // JSObject
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -11,10 +11,11 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/RootingAPI.h" // JS::{,Mutable}Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -14,13 +14,14 @@
#include <stdint.h> // uint32_t
#include "jstypes.h" // JS_PUBLIC_API
#include "js/Class.h" // JSClass, js::ClassSpec
#include "js/RootingAPI.h" // JS::Handle
#include "js/Stream.h" // JS::ReadableStream{Mode,UnderlyingSource}
#include "js/Value.h" // JS::Int32Value, JS::ObjectValue, JS::UndefinedValue
#include "vm/NativeObject.h" // js::NativeObject
class JSObject;
class JS_PUBLIC_API JSObject;
namespace js {

View File

@@ -11,10 +11,11 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -11,11 +11,12 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "builtin/streams/ReadableStreamReader.h" // js::ForAuthorCodeBool
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -11,6 +11,7 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/Class.h" // JSClass, js::ClassSpec
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::{,Boolean,Object,Undefined}Value
@@ -18,7 +19,7 @@
#include "vm/List.h" // js::ListObject
#include "vm/NativeObject.h" // js::NativeObject
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -16,13 +16,14 @@
#include <stdint.h> // uint32_t
#include "jstypes.h" // JS_PUBLIC_API
#include "js/Class.h" // JSClass, js::ClassSpec
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::{,Int32,Object,Undefined}Value
#include "vm/List.h" // js::ListObject
#include "vm/NativeObject.h" // js::NativeObject
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -11,10 +11,11 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -11,12 +11,13 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/Class.h" // JSClass, js::ClassSpec
#include "js/Value.h" // JS::{,Object,Undefined}Value
#include "vm/NativeObject.h" // js::NativeObject
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace js {

View File

@@ -11,10 +11,11 @@
#include "mozilla/Attributes.h" // MOZ_MUST_USE
#include "jstypes.h" // JS_PUBLIC_API
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -12,9 +12,10 @@
#include <stdint.h> // for uint32_t
#include "jsapi.h"
#include "jstypes.h"
namespace JS {
class Realm;
class JS_PUBLIC_API Realm;
}
namespace js {

View File

@@ -51,13 +51,13 @@
#include "vm/StringType.h" // for JSAtom
#include "wasm/WasmJS.h" // for WasmInstanceObject
class JSFunction;
class JS_PUBLIC_API JSFunction;
namespace JS {
class AutoStableStringChars;
class Compartment;
class Realm;
class Zone;
class JS_PUBLIC_API Compartment;
class JS_PUBLIC_API Realm;
class JS_PUBLIC_API Zone;
} /* namespace JS */
namespace js {

View File

@@ -9,12 +9,13 @@
#include "debugger/Environment.h" // for DebuggerEnvironment
#include "jstypes.h" // for JS_PUBLIC_API
#include "NamespaceImports.h" // for Value
#include "debugger/Debugger.h" // for Debugger
#include "debugger/Debugger-inl.h" // for Debugger::fromJSObject
class JSObject;
class JS_PUBLIC_API JSObject;
inline js::Debugger* js::DebuggerEnvironment::owner() const {
JSObject* dbgobj = &getReservedSlot(OWNER_SLOT).toObject();

View File

@@ -11,6 +11,7 @@
#include "mozilla/Attributes.h" // for MOZ_MUST_USE
#include "mozilla/Maybe.h" // for Maybe
#include "jstypes.h" // for JS_PUBLIC_API
#include "NamespaceImports.h" // for Value, HandleId, HandleObject
#include "debugger/Debugger.h" // for Env
#include "gc/Rooting.h" // for HandleDebuggerEnvironment
@@ -19,9 +20,9 @@
#include "vm/NativeObject.h" // for NativeObject
#include "vm/Scope.h" // for ScopeKind
class JSObject;
class JS_PUBLIC_API JSObject;
struct JS_PUBLIC_API JSContext;
class JSTracer;
struct JSContext;
namespace js {

View File

@@ -14,6 +14,7 @@
#include "mozilla/Result.h" // for Result
#include "jsapi.h" // for JSContext
#include "jstypes.h" // for JS_PUBLIC_API
#include "NamespaceImports.h" // for Value, MutableHandleValue, HandleId
#include "gc/Rooting.h" // for HandleDebuggerObject
@@ -22,7 +23,7 @@
#include "vm/JSObject.h" // for JSObject (ptr only)
#include "vm/NativeObject.h" // for NativeObject
class JSAtom;
class JS_PUBLIC_API JSAtom;
namespace js {

View File

@@ -14,13 +14,14 @@
#include <utility> // for move
#include "jstypes.h" // for JS_PUBLIC_API
#include "debugger/Debugger.h" // for DebuggerScriptReferent
#include "gc/Cell.h" // for Cell
#include "vm/JSScript.h" // for BaseScript, JSScript, LazyScript
#include "vm/NativeObject.h" // for NativeObject
#include "wasm/WasmJS.h" // for WasmInstanceObject
class JSObject;
class JS_PUBLIC_API JSObject;
js::gc::Cell* js::DebuggerScript::getReferentCell() const {
return static_cast<gc::Cell*>(getPrivate());

View File

@@ -9,12 +9,13 @@
#include "jsapi.h" // for Handle, JSFunctionSpec, JSPropertySpec
#include "jstypes.h" // for JS_PUBLIC_API
#include "NamespaceImports.h" // for Value, HandleObject, CallArgs
#include "debugger/Debugger.h" // for DebuggerScriptReferent
#include "gc/Rooting.h" // for HandleNativeObject
#include "vm/NativeObject.h" // for NativeObject
class JSObject;
class JS_PUBLIC_API JSObject;
namespace js {

View File

@@ -17,6 +17,7 @@
#include <stddef.h> // size_t
#include <stdint.h> // uint8_t, uint32_t
#include "jstypes.h" // JS_PUBLIC_API
#include "ds/FixedLengthVector.h" // FixedLengthVector
#include "frontend/BinASTRuntimeSupport.h" // CharSlice, BinASTVariant, BinASTKind, BinASTField, BinASTSourceMetadata
#include "frontend/BinASTToken.h"
@@ -26,9 +27,9 @@
#include "js/Result.h" // JS::Result, Ok, Error
#include "js/Vector.h" // js::Vector
class JSAtom;
class JSTracer;
struct JSContext;
class JS_PUBLIC_API JSAtom;
class JS_PUBLIC_API JSTracer;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -15,6 +15,7 @@
#include <stddef.h> // size_t
#include <stdint.h> // uint32_t
#include "jstypes.h" // JS_PUBLIC_API
#include "frontend/ParseContext.h" // js::frontend::UsedNameTracker
#include "frontend/ParseInfo.h"
#include "frontend/SharedContext.h" // js::frontend::Directives, js::frontend::{,Eval,Global}SharedContext
@@ -25,8 +26,8 @@
#include "vm/JSScript.h" // js::{FunctionAsync,Generator}Kind, js::LazyScript, JSScript, js::ScriptSource, js::ScriptSourceObject
#include "vm/Scope.h" // js::ScopeKind
class JSFunction;
class JSObject;
class JS_PUBLIC_API JSFunction;
class JS_PUBLIC_API JSObject;
namespace js {

View File

@@ -14,6 +14,7 @@
#include <stddef.h> // ptrdiff_t, size_t
#include <stdint.h> // uint16_t, int32_t, uint32_t
#include "jstypes.h" // JS_PUBLIC_API
#include "NamespaceImports.h" // ValueVector
#include "frontend/BytecodeOffset.h" // BytecodeOffset
#include "frontend/JumpList.h" // JumpTarget

View File

@@ -217,7 +217,7 @@
#include "vm/JSAtom.h"
#include "vm/StringType.h"
struct JSContext;
struct JS_PUBLIC_API JSContext;
struct KeywordInfo;
namespace js {

View File

@@ -9,6 +9,7 @@
#include "mozilla/Assertions.h" // MOZ_ASSERT
#include "jstypes.h" // JS_PUBLIC_API
#include "gc/GCEnum.h" // js::MemoryUse
#include "jit/ExecutableAllocator.h" // jit::JitPoisonRangeVector
#include "js/AllocPolicy.h" // SystemAllocPolicy
@@ -16,7 +17,7 @@
#include "js/Utility.h" // AutoEnterOOMUnsafeRegion, js_free
#include "js/Vector.h" // js::Vector
struct JSRuntime;
struct JS_PUBLIC_API JSRuntime;
namespace js {
namespace gc {

View File

@@ -13,12 +13,13 @@
#include "mozilla/Maybe.h"
#include "jstypes.h"
#include "gc/GCRuntime.h"
#include "gc/Zone.h"
#include "vm/Compartment.h"
namespace JS {
class Realm;
class JS_PUBLIC_API Realm;
}
namespace js {

View File

@@ -11,12 +11,13 @@
#ifndef gc_ZoneAllocator_h
#define gc_ZoneAllocator_h
#include "jstypes.h"
#include "gc/Cell.h"
#include "gc/Scheduling.h"
#include "vm/MallocProvider.h"
namespace JS {
class Zone;
class JS_PUBLIC_API Zone;
} // namespace JS
namespace js {

View File

@@ -9,11 +9,12 @@
#include "mozilla/Atomics.h"
#include "jstypes.h"
#include "jit/BaselineIC.h"
#include "js/UniquePtr.h"
#include "vm/TypeInference.h"
class JSScript;
class JS_PUBLIC_API JSScript;
namespace js {
namespace jit {

View File

@@ -53,7 +53,7 @@ enum JSProtoKey {
};
/* Struct forward declarations. */
struct JSClass;
struct JS_PUBLIC_API JSClass;
class JSErrorReport;
struct JSExceptionState;
struct JSFunctionSpec;

View File

@@ -7,13 +7,14 @@
#ifndef threading_ProtectedData_h
#define threading_ProtectedData_h
#include "jstypes.h"
#include "jsutil.h"
#include "threading/LockGuard.h"
#include "threading/Mutex.h"
#include "threading/ThreadId.h"
namespace JS {
class Zone;
class JS_PUBLIC_API Zone;
}
namespace js {

View File

@@ -12,10 +12,11 @@
#include <stdint.h> // uint8_t
#include <stdio.h> // fclose, FILE, stdin
#include "jstypes.h" // JS_PUBLIC_API
#include "js/AllocPolicy.h" // js::TempAllocPolicy
#include "js/Vector.h" // js::Vector
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -16,6 +16,7 @@
# include "mozilla/Maybe.h"
# include "mozilla/Sprintf.h"
# include "jstypes.h"
# include "vm/JSONPrinter.h"
# include "vm/Printer.h"
@@ -66,7 +67,7 @@
// - Each file is prefixed with the PID to handle multiple processes.
// - Files are opened lazily, just before the first write to them.
class JSScript;
class JS_PUBLIC_API JSScript;
namespace js {

View File

@@ -11,6 +11,7 @@
#include "mozilla/Range.h"
#include "mozilla/Span.h"
#include "jstypes.h"
#include "gc/Barrier.h"
#include "gc/GC.h"
#include "gc/Heap.h"
@@ -25,7 +26,7 @@
namespace JS {
class BigInt;
class JS_PUBLIC_API BigInt;
} // namespace JS

View File

@@ -18,10 +18,11 @@
#ifndef vm_EqualityOperations_h
#define vm_EqualityOperations_h
#include "jstypes.h" // JS_PUBLIC_API
#include "js/RootingAPI.h" // JS::Handle
#include "js/Value.h" // JS::Value
struct JSContext;
struct JS_PUBLIC_API JSContext;
namespace js {

View File

@@ -9,6 +9,7 @@
#include "mozilla/Attributes.h" // MOZ_STACK_CLASS
#include "jstypes.h" // JS_PUBLIC_API
#include "builtin/ModuleObject.h" // js::{{Im,Ex}portEntry,Requested{Module,}}Object
#include "frontend/EitherParser.h" // js::frontend::EitherParser
#include "js/GCHashTable.h" // JS::GCHash{Map,Set}
@@ -16,8 +17,8 @@
#include "js/RootingAPI.h" // JS::{Handle,Rooted}
#include "vm/AtomsTable.h" // js::AtomSet
struct JSContext;
class JSAtom;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSAtom;
namespace js {

View File

@@ -16,7 +16,7 @@
#include <stdint.h> // intptr_t, uintptr_t, uint8_t, uint32_t
#include <stdio.h> // FILE
#include "jstypes.h" // JS_BITS_PER_WORD
#include "jstypes.h" // JS_BITS_PER_WORD, JS_PUBLIC_API
#include "jsutil.h" // JS_CRASH_DIAGNOSTICS
#include "jit/IonTypes.h" // jit::MIRType
@@ -29,14 +29,14 @@
#include "js/Vector.h" // js::Vector
#include "vm/TaggedProto.h" // js::TaggedProto
struct JSContext;
class JSObject;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSObject;
namespace JS {
class Compartment;
class Realm;
class Zone;
class JS_PUBLIC_API Compartment;
class JS_PUBLIC_API Realm;
class JS_PUBLIC_API Zone;
} // namespace JS

View File

@@ -24,14 +24,15 @@
#include <stdint.h> // uint32_t
#include "jstypes.h" // JS_PUBLIC_API
#include "js/CallArgs.h" // JSNative
struct JSContext;
class JSFunction;
struct JS_PUBLIC_API JSContext;
class JS_PUBLIC_API JSFunction;
namespace JS {
class Value;
class JS_PUBLIC_API Value;
template <typename T>
class Handle;