mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-04 09:27:53 +08:00
merge module info into ModuleHolder
Reviewed By: javache Differential Revision: D4512982 fbshipit-source-id: e1272812f95d08f2c3eb834a18da842d425b3edb
This commit is contained in:
committed by
Facebook Github Bot
parent
7555ae13d1
commit
9f3e928f83
@@ -14,7 +14,6 @@ import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.OnBatchCompleteListener;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.common.ReactConstants;
|
||||
import com.facebook.react.cxxbridge.LegacyModuleInfo;
|
||||
import com.facebook.react.cxxbridge.ModuleHolder;
|
||||
import com.facebook.react.cxxbridge.NativeModuleRegistry;
|
||||
import com.facebook.react.module.model.ReactModuleInfo;
|
||||
@@ -58,17 +57,20 @@ public class NativeModuleRegistryBuilder {
|
||||
throw new IllegalStateException("Native Java module " + type.getSimpleName() +
|
||||
" should be annotated with @ReactModule and added to a @ReactModuleList.");
|
||||
}
|
||||
NativeModule nativeModule = moduleSpec.getProvider().get();
|
||||
LegacyModuleInfo legacyModuleInfo = new LegacyModuleInfo(type, nativeModule);
|
||||
moduleHolder = new ModuleHolder(legacyModuleInfo, nativeModule);
|
||||
moduleHolder = new ModuleHolder(moduleSpec.getProvider().get());
|
||||
} else {
|
||||
moduleHolder = new ModuleHolder(reactModuleInfo, moduleSpec.getProvider());
|
||||
moduleHolder = new ModuleHolder(
|
||||
reactModuleInfo.name(),
|
||||
reactModuleInfo.canOverrideExistingModule(),
|
||||
reactModuleInfo.supportsWebWorkers(),
|
||||
reactModuleInfo.needsEagerInit(),
|
||||
moduleSpec.getProvider());
|
||||
}
|
||||
|
||||
String name = moduleHolder.getInfo().name();
|
||||
String name = moduleHolder.getName();
|
||||
if (namesToType.containsKey(name)) {
|
||||
Class<? extends NativeModule> existingNativeModule = namesToType.get(name);
|
||||
if (!moduleHolder.getInfo().canOverrideExistingModule()) {
|
||||
if (!moduleHolder.getCanOverrideExistingModule()) {
|
||||
throw new IllegalStateException("Native module " + type.getSimpleName() +
|
||||
" tried to override " + existingNativeModule.getSimpleName() + " for module name " +
|
||||
name + ". If this was your intention, set canOverrideExistingModule=true");
|
||||
@@ -106,8 +108,7 @@ public class NativeModuleRegistryBuilder {
|
||||
}
|
||||
|
||||
namesToType.put(name, type);
|
||||
LegacyModuleInfo legacyModuleInfo = new LegacyModuleInfo(type, nativeModule);
|
||||
ModuleHolder moduleHolder = new ModuleHolder(legacyModuleInfo, nativeModule);
|
||||
ModuleHolder moduleHolder = new ModuleHolder(nativeModule);
|
||||
mModules.put(type, moduleHolder);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user