patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865

Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/js/public/TypeDecls.h
+++ b/js/public/TypeDecls.h
@@ -21,31 +21,32 @@
 #include <stdint.h>
 
 #include "js-config.h"
+#include "jstypes.h"
 
 typedef uint8_t jsbytecode;
 
-class JSAtom;
-struct JSCompartment;
-struct JSContext;
-class JSFunction;
-class JSObject;
-struct JSRuntime;
-class JSScript;
-class JSString;
-class JSAddonId;
-struct JSFreeOp;
+class JS_PUBLIC_API JSAtom;
+struct JS_PUBLIC_API JSCompartment;
+struct JS_PUBLIC_API JSContext;
+class JS_PUBLIC_API JSFunction;
+class JS_PUBLIC_API JSObject;
+struct JS_PUBLIC_API JSRuntime;
+class JS_PUBLIC_API JSScript;
+class JS_PUBLIC_API JSString;
+class JS_PUBLIC_API JSAddonId;
+struct JS_PUBLIC_API JSFreeOp;
 
-struct jsid;
+struct JS_PUBLIC_API jsid;
 
 namespace JS {
 
 typedef unsigned char Latin1Char;
 
-class Symbol;
-class Value;
-class Realm;
-struct Runtime;
-struct Zone;
+class JS_PUBLIC_API Symbol;
+class JS_PUBLIC_API Value;
+class JS_PUBLIC_API Realm;
+struct JS_PUBLIC_API Runtime;
+struct JS_PUBLIC_API Zone;
 
 template <typename T>
 class Handle;
