react-native/ReactCommon/cxxreact
Lukas Piatkowski bd524bd6e8 BREAKING: Change the toValue in JSCExecutor to ValueEncoder<T>::toValue
Summary:
The C++ standard requires that when a function is used in a template it's prototype needs to be defined not only before the template specialization, but also before the template itself.

Because of that one needs to (in certain compilers) be aware of the proper order of includes so that the function prototype is defined before the JSCExecutor.h is included.

As a workaround the toValue might be written as a template (ValueEncoder<T>::toValue) defined in JSCExecutor.h instead of being an non-existing symbol.
Thanks to that the JSCExecutor.h does not have to be included before the specialization of the ValueEncoder template.

Reviewed By: mhorowitz

Differential Revision: D4182724

fbshipit-source-id: 9bdf239ae66ef7a7d2c82daf7db5926472687bde
2016-11-24 09:28:29 -08:00
..
tests Move JSC API usage in ReactCommon to our wrapper methods 2016-11-22 06:13:33 -08:00
Android.mk Move JSCHelpers.h and Value.h into separate package 2016-11-01 11:44:10 -07:00
BUCK Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact` 2016-11-23 06:43:50 -08:00
CxxMessageQueue.cpp Add c++-runloop-backed message queue 2016-06-13 18:13:34 -07:00
CxxMessageQueue.h Add c++-runloop-backed message queue 2016-06-13 18:13:34 -07:00
CxxModule.h add support for registering and calling sync methods in C++ modules 2016-08-03 18:13:44 -07:00
CxxNativeModule.cpp Fix a folly::dynamic deprecated pattern 2016-10-26 09:43:56 -07:00
CxxNativeModule.h Refactor CxxNativeModule out of android-specific code into common code 2016-08-03 16:01:24 -07:00
Executor.cpp Experimental App Bundle API 2016-11-18 05:13:31 -08:00
Executor.h Experimental App Bundle API 2016-11-18 05:13:31 -08:00
ExecutorToken.h Build new bridge with gradle 2016-05-27 16:13:37 -07:00
ExecutorTokenFactory.h Build new bridge with gradle 2016-05-27 16:13:37 -07:00
Instance.cpp Add a way to access the underlying JavaScriptCore context 2016-10-26 03:43:44 -07:00
Instance.h Add a way to access the underlying JavaScriptCore context 2016-10-26 03:43:44 -07:00
JSBundleType.cpp Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact` 2016-11-23 06:43:50 -08:00
JSBundleType.h Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact` 2016-11-23 06:43:50 -08:00
JSCExecutor.cpp Allow bridge delegate to specify whether to use custom JSC wrapper 2016-11-23 03:58:41 -08:00
JSCExecutor.h BREAKING: Change the toValue in JSCExecutor to ValueEncoder<T>::toValue 2016-11-24 09:28:29 -08:00
JSCLegacyProfiler.cpp Move JSC API usage in ReactCommon to our wrapper methods 2016-11-22 06:13:33 -08:00
JSCLegacyProfiler.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCLegacyTracing.cpp Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCLegacyTracing.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCMemory.cpp Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCMemory.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCNativeModules.cpp Replace RCTJSCWrapper with JSCWrapper from ReactCommon 2016-11-23 11:43:48 -08:00
JSCNativeModules.h Move JSCHelpers.h and Value.h into separate package 2016-11-01 11:44:10 -07:00
JSCPerfStats.cpp Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCPerfStats.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCSamplingProfiler.cpp Move JSC API usage in ReactCommon to our wrapper methods 2016-11-22 06:13:33 -08:00
JSCSamplingProfiler.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCTracing.cpp Move JSC API usage in ReactCommon to our wrapper methods 2016-11-22 06:13:33 -08:00
JSCTracing.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSCUtils.cpp Add JSContextRef param to String constructor 2016-11-18 06:28:48 -08:00
JSCUtils.h Add JSContextRef param to String constructor 2016-11-18 06:28:48 -08:00
JSCWebWorker.cpp Move JSC API usage in ReactCommon to our wrapper methods 2016-11-22 06:13:33 -08:00
JSCWebWorker.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
JSIndexedRAMBundle.cpp Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact` 2016-11-23 06:43:50 -08:00
JSIndexedRAMBundle.h Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact` 2016-11-23 06:43:50 -08:00
JSModulesUnbundle.h Move JSCHelpers.h and Value.h into separate package 2016-11-01 11:44:10 -07:00
JsArgumentHelpers-inl.h Build new bridge with gradle 2016-05-27 16:13:37 -07:00
JsArgumentHelpers.h Remove follySupport.h 2016-09-30 12:28:41 -07:00
MessageQueueThread.h Build new bridge with gradle 2016-05-27 16:13:37 -07:00
MethodCall.cpp Remove additional JSON encoding for native->JS communication 2016-09-19 04:44:12 -07:00
MethodCall.h Remove additional JSON encoding for native->JS communication 2016-09-19 04:44:12 -07:00
ModuleRegistry.cpp Lazily instantiate native modules 2016-10-11 07:28:42 -07:00
ModuleRegistry.h Lazily instantiate native modules 2016-10-11 07:28:42 -07:00
NativeModule.h Build new bridge with gradle 2016-05-27 16:13:37 -07:00
NativeToJsBridge.cpp Expose ModuleRegistry on ExecutorDelegate 2016-10-03 05:13:38 -07:00
NativeToJsBridge.h Move JSCHelpers.h and Value.h into separate package 2016-11-01 11:44:10 -07:00
Platform.cpp Build new bridge with gradle 2016-05-27 16:13:37 -07:00
Platform.h Define wrapper versions of all JSC methods 2016-11-22 06:13:33 -08:00
SampleCxxModule.cpp Android instrumentation tests for C++ module sync methods. 2016-08-04 11:43:54 -07:00
SampleCxxModule.h Android instrumentation tests for C++ module sync methods. 2016-08-04 11:43:54 -07:00
SystraceSection.h Build new bridge with gradle 2016-05-27 16:13:37 -07:00
oss-compat-util.h Move `ScriptTag` and `RCTJSModulesUnbundle` to `cxxreact` 2016-11-23 06:43:50 -08:00