Skip to content

Commit 4e6eba7

Browse files
mdvaccafacebook-github-bot
authored andcommitted
Mark classes of package fabric as @nullsafe (#42725)
Summary: Pull Request resolved: #42725 All these classes are NullSafe, let's mark them as NullSafe(Local) to ensure lint detect errors in the future changelog: [internal] internal Reviewed By: NickGerleman Differential Revision: D53200097 fbshipit-source-id: dad54f5bf03967b5d4126757ab0d5424534af888
1 parent 239f9bf commit 4e6eba7

20 files changed

+40
-0
lines changed

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/BindingImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import android.annotation.SuppressLint;
1111
import androidx.annotation.NonNull;
12+
import com.facebook.infer.annotation.Nullsafe;
1213
import com.facebook.jni.HybridData;
1314
import com.facebook.proguard.annotations.DoNotStrip;
1415
import com.facebook.react.bridge.NativeMap;
@@ -20,6 +21,7 @@
2021
import com.facebook.react.fabric.events.EventEmitterWrapper;
2122
import com.facebook.react.uimanager.PixelUtil;
2223

24+
@Nullsafe(Nullsafe.Mode.LOCAL)
2325
@DoNotStrip
2426
@SuppressLint("MissingNativeLoadLibrary")
2527
public class BindingImpl implements Binding {

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/ComponentFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
package com.facebook.react.fabric;
99

1010
import androidx.annotation.NonNull;
11+
import com.facebook.infer.annotation.Nullsafe;
1112
import com.facebook.jni.HybridData;
1213
import com.facebook.proguard.annotations.DoNotStrip;
1314

15+
@Nullsafe(Nullsafe.Mode.LOCAL)
1416
@DoNotStrip
1517
public class ComponentFactory {
1618

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77

88
package com.facebook.react.fabric;
99

10+
import com.facebook.infer.annotation.Nullsafe;
1011
import com.facebook.jni.HybridData;
1112
import com.facebook.proguard.annotations.DoNotStrip;
1213

14+
@Nullsafe(Nullsafe.Mode.LOCAL)
1315
@DoNotStrip
1416
public class CoreComponentsRegistry {
1517
static {

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@
2222
import static com.facebook.react.bridge.ReactMarkerConstants.FABRIC_UPDATE_UI_MAIN_THREAD_START;
2323

2424
import androidx.annotation.Nullable;
25+
import com.facebook.infer.annotation.Nullsafe;
2526
import com.facebook.react.bridge.ReactMarker;
2627
import com.facebook.react.bridge.ReactMarkerConstants;
2728
import java.util.ArrayList;
2829
import java.util.HashMap;
2930
import java.util.List;
3031
import java.util.Map;
3132

33+
@Nullsafe(Nullsafe.Mode.LOCAL)
3234
public class DevToolsReactPerfLogger implements ReactMarker.FabricMarkerListener {
3335

3436
private final Map<Integer, FabricCommitPoint> mFabricCommitMarkers = new HashMap<>();

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package com.facebook.react.fabric;
99

1010
import androidx.annotation.NonNull;
11+
import com.facebook.infer.annotation.Nullsafe;
1112
import java.util.HashMap;
1213
import java.util.Map;
1314

@@ -17,6 +18,7 @@
1718
* <p>TODO T97384889: remove this class when the component names are unified between JS - Android -
1819
* iOS - C++
1920
*/
21+
@Nullsafe(Nullsafe.Mode.LOCAL)
2022
public class FabricComponents {
2123

2224
private static @NonNull final Map<String, String> sComponentNames = new HashMap<>();

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricSoLoader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99

1010
import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
1111

12+
import com.facebook.infer.annotation.Nullsafe;
1213
import com.facebook.react.bridge.ReactMarker;
1314
import com.facebook.react.bridge.ReactMarkerConstants;
1415
import com.facebook.soloader.SoLoader;
1516
import com.facebook.systrace.Systrace;
1617

18+
@Nullsafe(Nullsafe.Mode.LOCAL)
1719
public class FabricSoLoader {
1820
private static volatile boolean sDidInit = false;
1921

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99

1010
import android.view.Choreographer;
1111
import androidx.annotation.NonNull;
12+
import com.facebook.infer.annotation.Nullsafe;
1213
import com.facebook.react.bridge.JSExceptionHandler;
1314
import com.facebook.react.bridge.ReactContext;
1415

16+
@Nullsafe(Nullsafe.Mode.LOCAL)
1517
public abstract class GuardedFrameCallback implements Choreographer.FrameCallback {
1618

1719
@NonNull private final JSExceptionHandler mExceptionHandler;

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import androidx.annotation.NonNull;
1212
import androidx.annotation.Nullable;
1313
import com.facebook.common.logging.FLog;
14+
import com.facebook.infer.annotation.Nullsafe;
1415
import com.facebook.jni.HybridData;
1516
import com.facebook.proguard.annotations.DoNotStrip;
1617
import com.facebook.react.bridge.NativeMap;
@@ -23,6 +24,7 @@
2324
* This class holds reference to the C++ EventEmitter object. Instances of this class are created on
2425
* the Bindings.cpp, where the pointer to the C++ event emitter is set.
2526
*/
27+
@Nullsafe(Nullsafe.Mode.LOCAL)
2628
@SuppressLint("MissingNativeLoadLibrary")
2729
@DoNotStrip
2830
public class StateWrapperImpl implements StateWrapper {

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@
1111
import static com.facebook.react.fabric.mounting.LayoutMetricsConversions.getMinSize;
1212

1313
import androidx.annotation.IntDef;
14+
import com.facebook.infer.annotation.Nullsafe;
1415
import com.facebook.jni.HybridData;
1516
import com.facebook.proguard.annotations.DoNotStrip;
1617
import com.facebook.react.bridge.NativeMap;
1718
import com.facebook.react.interfaces.fabric.SurfaceHandler;
1819
import java.lang.annotation.Retention;
1920
import java.lang.annotation.RetentionPolicy;
2021

22+
@Nullsafe(Nullsafe.Mode.LOCAL)
2123
public class SurfaceHandlerBinding implements SurfaceHandler {
2224
static {
2325
FabricSoLoader.staticInit();

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventBeatManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import android.annotation.SuppressLint;
1111
import androidx.annotation.NonNull;
12+
import com.facebook.infer.annotation.Nullsafe;
1213
import com.facebook.jni.HybridData;
1314
import com.facebook.proguard.annotations.DoNotStrip;
1415
import com.facebook.react.bridge.ReactApplicationContext;
@@ -18,6 +19,7 @@
1819
/**
1920
* Class that acts as a proxy between the list of EventBeats registered in C++ and the Android side.
2021
*/
22+
@Nullsafe(Nullsafe.Mode.LOCAL)
2123
@SuppressLint("MissingNativeLoadLibrary")
2224
public final class EventBeatManager implements BatchEventDispatchedListener {
2325

0 commit comments

Comments
 (0)