From a5a6db38fc87a4efb8e7ac18b2bee425e2122456 Mon Sep 17 00:00:00 2001 From: CodemodService Bot Date: Thu, 4 Sep 2025 07:21:55 -0700 Subject: [PATCH] Fix CQS signal readability-implicit-bool-conversion in xplat/js/react-native-github/packages (#53594) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53594 Reviewed By: rshest Differential Revision: D81570847 --- ...TCxxInspectorPackagerConnectionDelegate.mm | 2 +- .../RCTCxxInspectorWebSocketAdapter.mm | 4 +- .../React/Views/RCTComponentData.mm | 38 +++++++------- .../jni/first-party/fbgloginit/glog_init.cpp | 2 +- .../devsupport/JInspectorNetworkReporter.cpp | 5 +- .../ReactCommon/jsc/JSCRuntime.cpp | 24 ++++----- .../tests/InspectorPackagerConnectionTest.cpp | 4 +- .../tests/JsiIntegrationTest.h | 8 +-- .../android/ReactCommon/JavaTurboModule.cpp | 3 +- .../ios/ReactCommon/RCTInteropTurboModule.mm | 10 ++-- .../ios/ReactCommon/RCTTurboModule.mm | 30 +++++------ .../ios/ReactCommon/RCTSampleLegacyModule.mm | 8 +-- .../ios/ReactCommon/RCTSampleTurboModule.mm | 8 +-- .../renderer/attributedstring/conversions.h | 50 +++++++++---------- ...cyViewManagerInteropComponentDescriptor.mm | 4 +- .../AndroidTextInputComponentDescriptor.h | 2 +- .../renderer/graphics/HostPlatformColor.mm | 6 +-- .../renderer/graphics/PlatformColorParser.mm | 8 +-- 18 files changed, 109 insertions(+), 107 deletions(-) diff --git a/packages/react-native/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm b/packages/react-native/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm index b7bf705b289..c85bd4d3aa4 100644 --- a/packages/react-native/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm +++ b/packages/react-native/React/Inspector/RCTCxxInspectorPackagerConnectionDelegate.mm @@ -32,7 +32,7 @@ std::unique_ptr RCTCxxInspectorPackagerConnectionDelegate::connectWe std::weak_ptr delegate) { auto *adapter = [[RCTCxxInspectorWebSocketAdapter alloc] initWithURL:url delegate:delegate]; - if (!adapter) { + if (adapter == nullptr) { return nullptr; } return std::make_unique(adapter); diff --git a/packages/react-native/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm b/packages/react-native/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm index 9ab428fe398..4b0754b26ae 100644 --- a/packages/react-native/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm +++ b/packages/react-native/React/Inspector/RCTCxxInspectorWebSocketAdapter.mm @@ -34,7 +34,7 @@ NSString *NSStringFromUTF8StringView(std::string_view view) @implementation RCTCxxInspectorWebSocketAdapter - (instancetype)initWithURL:(const std::string &)url delegate:(std::weak_ptr)delegate { - if ((self = [super init])) { + if ((self = [super init]) != nullptr) { _delegate = delegate; _webSocket = [[SRWebSocket alloc] initWithURL:[NSURL URLWithString:NSStringFromUTF8StringView(url)]]; _webSocket.delegate = self; @@ -49,7 +49,7 @@ NSString *NSStringFromUTF8StringView(std::string_view view) NSString *messageStr = NSStringFromUTF8StringView(message); dispatch_async(dispatch_get_main_queue(), ^{ RCTCxxInspectorWebSocketAdapter *strongSelf = weakSelf; - if (strongSelf) { + if (strongSelf != nullptr) { [strongSelf->_webSocket sendString:messageStr error:NULL]; } }); diff --git a/packages/react-native/React/Views/RCTComponentData.mm b/packages/react-native/React/Views/RCTComponentData.mm index 5e39f77c86c..36de415c2b4 100644 --- a/packages/react-native/React/Views/RCTComponentData.mm +++ b/packages/react-native/React/Views/RCTComponentData.mm @@ -50,7 +50,7 @@ static SEL selectorForType(NSString *type) bridge:(RCTBridge *)bridge eventDispatcher:(id)eventDispatcher { - if ((self = [super init])) { + if ((self = [super init]) != nullptr) { _bridge = bridge; _eventDispatcher = eventDispatcher; _managerClass = managerClass; @@ -71,12 +71,12 @@ static SEL selectorForType(NSString *type) - (RCTViewManager *)manager { - if (!_manager && [self isBridgeMode]) { + if ((_manager == nullptr) && [self isBridgeMode]) { _manager = [_bridge moduleForClass:_managerClass]; - } else if (!_manager && !_bridgelessViewManager) { + } else if ((_manager == nullptr) && (_bridgelessViewManager == nullptr)) { _bridgelessViewManager = [_bridge moduleForClass:_managerClass]; } - return _manager ? _manager : _bridgelessViewManager; + return (_manager != nullptr) ? _manager : _bridgelessViewManager; } RCT_NOT_IMPLEMENTED(-(instancetype)init) @@ -106,7 +106,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)init) { json = RCTNilIfNull(json); if (!isShadowView) { - if (!json && !_defaultView) { + if ((json == nullptr) && (_defaultView == nullptr)) { // Only create default view if json is null _defaultView = [self createViewWithTag:nil rootTag:nil]; } @@ -130,11 +130,11 @@ static RCTPropBlock createEventSetter( eventHandler = ^(NSDictionary *event) { // The component no longer exists, we shouldn't send the event id strongTarget = weakTarget; - if (!strongTarget) { + if (strongTarget == nullptr) { return; } - if (eventInterceptor) { + if (eventInterceptor != nullptr) { eventInterceptor(propName, event, strongTarget.reactTag); } else { RCTComponentEvent *componentEvent = [[RCTComponentEvent alloc] initWithName:propName @@ -158,13 +158,13 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S __block NSMutableData *defaultValue = nil; return ^(id target, id json) { - if (!target) { + if (target == nullptr) { return; } // Get default value - if (!defaultValue) { - if (!json) { + if (defaultValue == nullptr) { + if (json == nullptr) { // We only set the defaultValue when we first pass a non-null // value, so if the first value sent for a prop is null, it's // a no-op (we'd be resetting it to its default when its @@ -186,10 +186,10 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S // Get value BOOL freeValueOnCompletion = NO; void *value = defaultValue.mutableBytes; - if (json) { + if (json != nullptr) { freeValueOnCompletion = YES; value = malloc(typeSignature.methodReturnLength); - if (!value) { + if (value == nullptr) { // CWE - 391 : Unchecked error condition // https://www.cvedetails.com/cwe-details/391/Unchecked-Error-Condition.html // https://eli.thegreenplace.net/2009/10/30/handling-out-of-memory-conditions-in-c @@ -201,7 +201,7 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S } // Set value - if (!targetInvocation) { + if (targetInvocation == nullptr) { NSMethodSignature *signature = [target methodSignatureForSelector:setter]; targetInvocation = [NSInvocation invocationWithMethodSignature:signature]; targetInvocation.selector = setter; @@ -252,7 +252,7 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S // Disect keypath NSString *key = name; NSArray *parts = [keyPath componentsSeparatedByString:@"."]; - if (parts) { + if (parts != nullptr) { key = parts.lastObject; parts = [parts subarrayWithRange:(NSRange){0, parts.count - 1}]; } @@ -275,7 +275,7 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S } else { // Ordinary property handlers NSMethodSignature *typeSignature = [[RCTConvert class] methodSignatureForSelector:type]; - if (!typeSignature) { + if (typeSignature == nullptr) { RCTLogError(@"No +[RCTConvert %@] function found.", NSStringFromSelector(type)); return ^(__unused id view, __unused id json) { }; @@ -347,7 +347,7 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S { RCTPropBlockDictionary *propBlocks = isShadowView ? _shadowPropBlocks : _viewPropBlocks; RCTPropBlock propBlock = propBlocks[name]; - if (!propBlock) { + if (propBlock == nullptr) { propBlock = [self createPropBlock:name isShadowView:isShadowView]; #if RCT_DEBUG @@ -381,7 +381,7 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S - (void)setProps:(NSDictionary *)props forView:(id)view isShadowView:(BOOL)isShadowView { - if (!view) { + if (view == nullptr) { return; } @@ -467,13 +467,13 @@ static RCTPropBlock createNSInvocationSetter(NSMethodSignature *typeSignature, S // We need to handle both propConfig_* and propConfigShadow_* methods const char *underscorePos = strchr(selectorName + strlen("propConfig"), '_'); - if (!underscorePos) { + if (underscorePos == nullptr) { continue; } NSString *name = @(underscorePos + 1); NSString *type = ((NSArray * (*)(id, SEL)) objc_msgSend)(managerClass, selector)[0]; - if (RCT_DEBUG && propTypes[name] && ![propTypes[name] isEqualToString:type]) { + if (RCT_DEBUG && (propTypes[name] != nullptr) && ![propTypes[name] isEqualToString:type]) { RCTLogError( @"Property '%@' of component '%@' redefined from '%@' " "to '%@'", diff --git a/packages/react-native/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp b/packages/react-native/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp index dac26d8d0c0..c7174b83227 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/first-party/fbgloginit/glog_init.cpp @@ -102,7 +102,7 @@ lastResort(const char* tag, const char* msg, const char* arg = nullptr) { } #else std::cerr << msg; - if (arg) { + if (arg != nullptr) { std::cerr << ": " << arg; } std::cerr << std::endl; diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp index 41e25e3c85c..34eda93de81 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp @@ -60,7 +60,8 @@ static std::unordered_map responseBuffers; /* static */ jboolean JInspectorNetworkReporter::isDebuggingEnabled( jni::alias_ref /*unused*/) { - return NetworkReporter::getInstance().isDebuggingEnabled(); + return static_cast( + NetworkReporter::getInstance().isDebuggingEnabled()); } /* static */ void JInspectorNetworkReporter::reportRequestStart( @@ -138,7 +139,7 @@ static std::unordered_map responseBuffers; jint requestId, jboolean cancelled) { NetworkReporter::getInstance().reportRequestFailed( - std::to_string(requestId), cancelled); + std::to_string(requestId), cancelled != 0u); } /* static */ void JInspectorNetworkReporter::maybeStoreResponseBodyImpl( diff --git a/packages/react-native/ReactCommon/jsc/JSCRuntime.cpp b/packages/react-native/ReactCommon/jsc/JSCRuntime.cpp index 46528bad745..3d14d45a70b 100644 --- a/packages/react-native/ReactCommon/jsc/JSCRuntime.cpp +++ b/packages/react-native/ReactCommon/jsc/JSCRuntime.cpp @@ -320,7 +320,7 @@ std::string JSStringToSTLString(JSStringRef str) { buffer = heapBuffer.get(); } size_t actualBytes = JSStringGetUTF8CString(str, buffer, maxBytes); - if (!actualBytes) { + if (actualBytes == 0u) { // Happens if maxBytes == 0 (never the case here) or if str contains // invalid UTF-16 data, since JSStringGetUTF8CString attempts a strict // conversion. @@ -437,7 +437,7 @@ jsi::Value JSCRuntime::evaluateJavaScript( JSValueRef res = JSEvaluateScript(ctx_, sourceRef, nullptr, sourceURLRef, 0, &exc); JSStringRelease(sourceRef); - if (sourceURLRef) { + if (sourceURLRef != nullptr) { JSStringRelease(sourceURLRef); } checkException(res, exc); @@ -597,7 +597,7 @@ void JSCRuntime::JSCObjectValue::invalidate() noexcept { jsi::Runtime::PointerValue* JSCRuntime::cloneSymbol( const jsi::Runtime::PointerValue* pv) { - if (!pv) { + if (pv == nullptr) { return nullptr; } const JSCSymbolValue* symbol = static_cast(pv); @@ -611,7 +611,7 @@ jsi::Runtime::PointerValue* JSCRuntime::cloneBigInt( jsi::Runtime::PointerValue* JSCRuntime::cloneString( const jsi::Runtime::PointerValue* pv) { - if (!pv) { + if (pv == nullptr) { return nullptr; } const JSCStringValue* string = static_cast(pv); @@ -620,7 +620,7 @@ jsi::Runtime::PointerValue* JSCRuntime::cloneString( jsi::Runtime::PointerValue* JSCRuntime::cloneObject( const jsi::Runtime::PointerValue* pv) { - if (!pv) { + if (pv == nullptr) { return nullptr; } const JSCObjectValue* object = static_cast(pv); @@ -632,7 +632,7 @@ jsi::Runtime::PointerValue* JSCRuntime::cloneObject( jsi::Runtime::PointerValue* JSCRuntime::clonePropNameID( const jsi::Runtime::PointerValue* pv) { - if (!pv) { + if (pv == nullptr) { return nullptr; } const JSCStringValue* string = static_cast(pv); @@ -914,7 +914,7 @@ JSClassRef getNativeStateClass() { } // namespace JSValueRef JSCRuntime::getNativeStateSymbol() { - if (!nativeStateSymbol_) { + if (nativeStateSymbol_ == nullptr) { JSStringRef symbolName = JSStringCreateWithUTF8CString("__internal_nativeState"); JSValueRef symbol = JSValueMakeSymbol(ctx_, symbolName); @@ -1182,7 +1182,7 @@ jsi::Function JSCRuntime::createFunctionFromHostFunction( kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete, &exc); - if (exc) { + if (exc != nullptr) { // Silently fail to set length exc = nullptr; } @@ -1198,7 +1198,7 @@ jsi::Function JSCRuntime::createFunctionFromHostFunction( kJSPropertyAttributeDontDelete, &exc); JSStringRelease(name); - if (exc) { + if (exc != nullptr) { // Silently fail to set name exc = nullptr; } @@ -1211,7 +1211,7 @@ jsi::Function JSCRuntime::createFunctionFromHostFunction( abort(); } JSObjectRef funcCtor = JSValueToObject(ctx, value, &exc); - if (!funcCtor) { + if (funcCtor == nullptr) { // We can't do anything if Function is not an object return; } @@ -1439,7 +1439,7 @@ JSStringRef getEmptyString() { jsi::Runtime::PointerValue* JSCRuntime::makeStringValue( JSStringRef stringRef) const { - if (!stringRef) { + if (stringRef == nullptr) { stringRef = getEmptyString(); } #ifndef NDEBUG @@ -1463,7 +1463,7 @@ jsi::PropNameID JSCRuntime::createPropNameID(JSStringRef str) { jsi::Runtime::PointerValue* JSCRuntime::makeObjectValue( JSObjectRef objectRef) const { - if (!objectRef) { + if (objectRef == nullptr) { objectRef = JSObjectMake(ctx_, nullptr, nullptr); } #ifndef NDEBUG diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp b/packages/react-native/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp index 5b237b73ee9..f61eca78251 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp +++ b/packages/react-native/ReactCommon/jsinspector-modern/tests/InspectorPackagerConnectionTest.cpp @@ -59,7 +59,7 @@ class InspectorPackagerConnectionTestBase : public testing::Test { auto pages = getInspectorInstance().getPages(); int liveConnectionCount = 0; for (size_t i = 0; i != localConnections_.objectsVended(); ++i) { - if (localConnections_[i]) { + if (localConnections_[i] != nullptr) { liveConnectionCount++; // localConnections_[i] is a strict mock and will complain when we // removePage if the call is unexpected. @@ -69,7 +69,7 @@ class InspectorPackagerConnectionTestBase : public testing::Test { for (auto& page : pages) { getInspectorInstance().removePage(page.id); } - if (!pages.empty() && liveConnectionCount) { + if (!pages.empty() && (liveConnectionCount != 0)) { if (!::testing::Test::HasFailure()) { FAIL() << "Test case ended with " << liveConnectionCount diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h b/packages/react-native/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h index c8cd9249418..9c53181f50e 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.h @@ -65,12 +65,12 @@ class JsiIntegrationPortableTestBase : public ::testing::Test, ~JsiIntegrationPortableTestBase() override { toPage_.reset(); - if (runtimeTarget_) { + if (runtimeTarget_ != nullptr) { EXPECT_TRUE(instance_); instance_->unregisterRuntime(*runtimeTarget_); runtimeTarget_ = nullptr; } - if (instance_) { + if (instance_ != nullptr) { page_->unregisterInstance(*instance_); instance_ = nullptr; } @@ -108,12 +108,12 @@ class JsiIntegrationPortableTestBase : public ::testing::Test, } void reload() { - if (runtimeTarget_) { + if (runtimeTarget_ != nullptr) { ASSERT_TRUE(instance_); instance_->unregisterRuntime(*runtimeTarget_); runtimeTarget_ = nullptr; } - if (instance_) { + if (instance_ != nullptr) { page_->unregisterInstance(*instance_); instance_ = nullptr; } diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp b/packages/react-native/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp index 1b1c6f7f7e7..5c9b464a8c3 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +++ b/packages/react-native/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp @@ -395,7 +395,8 @@ JNIArgs convertJSIArgsToJNIArgs( "boolean", argIndex, methodName, arg, &rt); } jarg->l = makeGlobalIfNecessary( - jni::JBoolean::valueOf(arg->getBool()).release()); + jni::JBoolean::valueOf(static_cast(arg->getBool())) + .release()); } else if (type == "Ljava/lang/String;") { if (!arg->isString()) { throw JavaTurboModuleArgumentConversionException( diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm index 3caa14ba6a3..bdf4c397ef5 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +++ b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm @@ -51,7 +51,7 @@ std::vector getMethodInfos(Class moduleClass) std::vector methodInfos; Class cls = moduleClass; - while (cls && cls != [NSObject class] && cls != [NSProxy class]) { + while ((cls != nullptr) && cls != [NSObject class] && cls != [NSProxy class]) { unsigned int methodCount; Method *methods = class_copyMethodList(object_getClass(cls), &methodCount); @@ -482,7 +482,7 @@ void ObjCInteropTurboModule::setInvocationArg( return; } - if (arg) { + if (arg != nullptr) { [retainedObjectsForInvocation addObject:arg]; } [inv setArgument:&arg atIndex:(index) + 2]; @@ -496,7 +496,7 @@ void ObjCInteropTurboModule::setInvocationArg( typeInvocation.target = [RCTConvert class]; void *returnValue = malloc(typeSignature.methodReturnLength); - if (!returnValue) { + if (returnValue == nullptr) { // CWE - 391 : Unchecked error condition // https://www.cvedetails.com/cwe-details/391/Unchecked-Error-Condition.html // https://eli.thegreenplace.net/2009/10/30/handling-out-of-memory-conditions-in-c @@ -519,7 +519,7 @@ void ObjCInteropTurboModule::setInvocationArg( * RCTModuleMethod doesn't actually call into RCTConvert in this case. */ id arg = [objCArg copy]; - if (arg) { + if (arg != nullptr) { [retainedObjectsForInvocation addObject:arg]; } [inv setArgument:&arg atIndex:(index) + 2]; @@ -537,7 +537,7 @@ void ObjCInteropTurboModule::setInvocationArg( RCTResponseSenderBlock arg = (RCTResponseSenderBlock)TurboModuleConvertUtils::convertJSIValueToObjCObject(runtime, jsiArg, jsInvoker_, YES); - if (arg) { + if (arg != nullptr) { [retainedObjectsForInvocation addObject:arg]; } [inv setArgument:&arg atIndex:(index) + 2]; diff --git a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm index cb70f355df7..664657021cc 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +++ b/packages/react-native/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm @@ -59,7 +59,7 @@ static jsi::Value convertNSNumberToJSINumber(jsi::Runtime &runtime, NSNumber *va static jsi::String convertNSStringToJSIString(jsi::Runtime &runtime, NSString *value) { - return jsi::String::createFromUtf8(runtime, [value UTF8String] ? [value UTF8String] : ""); + return jsi::String::createFromUtf8(runtime, ([value UTF8String] != nullptr) ? [value UTF8String] : ""); } static jsi::Object convertNSDictionaryToJSIObject(jsi::Runtime &runtime, NSDictionary *value) @@ -124,7 +124,7 @@ static NSArray *convertJSIArrayToNSArray( for (size_t i = 0; i < size; i++) { // Insert kCFNull when it's `undefined` value to preserve the indices. id convertedObject = convertJSIValueToObjCObject(runtime, value.getValueAtIndex(runtime, i), jsInvoker, useNSNull); - [result addObject:convertedObject ? convertedObject : (id)kCFNull]; + [result addObject:(convertedObject != nullptr) ? convertedObject : (id)kCFNull]; } return result; } @@ -142,7 +142,7 @@ static NSDictionary *convertJSIObjectToNSDictionary( jsi::String name = propertyNames.getValueAtIndex(runtime, i).getString(runtime); NSString *k = convertJSIStringToNSString(runtime, name); id v = convertJSIValueToObjCObject(runtime, value.getProperty(runtime, name), jsInvoker, useNSNull); - if (v) { + if (v != nullptr) { result[k] = v; } } @@ -252,7 +252,7 @@ static jsi::Value convertJSErrorDetailsToJSRuntimeError(jsi::Runtime &runtime, N jsi::Value ObjCTurboModule::createPromise(jsi::Runtime &runtime, const std::string &methodName, PromiseInvocationBlock invoke) { - if (!invoke) { + if (invoke == nullptr) { return jsi::Value::undefined(); } @@ -388,7 +388,7 @@ id ObjCTurboModule::performMethodInvocation( void (^block)() = ^{ id strongModule = weakModule; - if (!strongModule) { + if (strongModule == nullptr) { return; } @@ -457,7 +457,7 @@ void ObjCTurboModule::performVoidMethodInvocation( void (^block)() = ^{ id strongModule = weakModule; - if (!strongModule) { + if (strongModule == nullptr) { return; } @@ -560,14 +560,14 @@ jsi::Value ObjCTurboModule::convertReturnIdToJSIValue( */ NSString *ObjCTurboModule::getArgumentTypeName(jsi::Runtime &runtime, NSString *methodName, int argIndex) { - if (!methodArgumentTypeNames_) { + if (methodArgumentTypeNames_ == nullptr) { NSMutableDictionary *> *methodArgumentTypeNames = [NSMutableDictionary new]; unsigned int numberOfMethods; Class cls = [instance_ class]; Method *methods = class_copyMethodList(object_getClass(cls), &numberOfMethods); - if (methods) { + if (methods != nullptr) { for (unsigned int i = 0; i < numberOfMethods; i++) { SEL s = method_getName(methods[i]); NSString *mName = NSStringFromSelector(s); @@ -597,7 +597,7 @@ NSString *ObjCTurboModule::getArgumentTypeName(jsi::Runtime &runtime, NSString * methodArgumentTypeNames_ = methodArgumentTypeNames; } - if (methodArgumentTypeNames_[methodName]) { + if (methodArgumentTypeNames_[methodName] != nullptr) { assert([methodArgumentTypeNames_[methodName] count] > argIndex); return methodArgumentTypeNames_[methodName][argIndex]; } @@ -656,7 +656,7 @@ void ObjCTurboModule::setInvocationArg( */ BOOL enableModuleArgumentNSNullConversionIOS = ReactNativeFeatureFlags::enableModuleArgumentNSNullConversionIOS(); id objCArg = convertJSIValueToObjCObject(runtime, arg, jsInvoker_, enableModuleArgumentNSNullConversionIOS); - if (objCArg) { + if (objCArg != nullptr) { NSString *methodNameNSString = @(methodName); /** @@ -678,7 +678,7 @@ void ObjCTurboModule::setInvocationArg( } [inv setArgument:(void *)&convertedObjCArg atIndex:i + 2]; - if (convertedObjCArg) { + if (convertedObjCArg != nullptr) { [retainedObjectsForInvocation addObject:convertedObjCArg]; } return; @@ -708,7 +708,7 @@ void ObjCTurboModule::setInvocationArg( * Insert converted args unmodified. */ [inv setArgument:(void *)&objCArg atIndex:i + 2]; - if (objCArg) { + if (objCArg != nullptr) { [retainedObjectsForInvocation addObject:objCArg]; } } @@ -848,7 +848,7 @@ jsi::Value ObjCTurboModule::invokeObjCMethod( BOOL ObjCTurboModule::hasMethodArgConversionSelector(NSString *methodName, size_t argIndex) { - return methodArgConversionSelectors_ && methodArgConversionSelectors_[methodName] && + return (methodArgConversionSelectors_ != nullptr) && (methodArgConversionSelectors_[methodName] != nullptr) && ![methodArgConversionSelectors_[methodName][argIndex] isEqual:(id)kCFNull]; } @@ -860,11 +860,11 @@ SEL ObjCTurboModule::getMethodArgConversionSelector(NSString *methodName, size_t void ObjCTurboModule::setMethodArgConversionSelector(NSString *methodName, size_t argIndex, NSString *fnName) { - if (!methodArgConversionSelectors_) { + if (methodArgConversionSelectors_ == nullptr) { methodArgConversionSelectors_ = [NSMutableDictionary new]; } - if (!methodArgConversionSelectors_[methodName]) { + if (methodArgConversionSelectors_[methodName] == nullptr) { auto metaData = methodMap_.at([methodName UTF8String]); auto argCount = metaData.argCount; diff --git a/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm b/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm index 887aed735dc..8c623a8b5c4 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm +++ b/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleLegacyModule.mm @@ -136,14 +136,14 @@ RCT_EXPORT_SYNCHRONOUS_TYPED_METHOD(NSDictionary *, getValue : (double)x y : (NS { return @{ @"x" : @(x), - @"y" : y ? y : [NSNull null], - @"z" : z ? z : [NSNull null], + @"y" : (y != nullptr) ? y : [NSNull null], + @"z" : (z != nullptr) ? z : [NSNull null], }; } RCT_EXPORT_METHOD(getValueWithCallback : (RCTResponseSenderBlock)callback) { - if (!callback) { + if (callback == nullptr) { return; } callback(@[ @"value from callback!" ]); @@ -154,7 +154,7 @@ RCT_EXPORT_METHOD(getValueWithPromise : (RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejectBlock)reject) { - if (!resolve || !reject) { + if ((resolve == nullptr) || (reject == nullptr)) { return; } diff --git a/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm b/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm index e19ec0485a5..9da48632091 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm +++ b/packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.mm @@ -136,14 +136,14 @@ RCT_EXPORT_SYNCHRONOUS_TYPED_METHOD(NSDictionary *, getValue : (double)x y : (NS { return @{ @"x" : @(x), - @"y" : y ? y : [NSNull null], - @"z" : z ? z : [NSNull null], + @"y" : (y != nullptr) ? y : [NSNull null], + @"z" : (z != nullptr) ? z : [NSNull null], }; } RCT_EXPORT_METHOD(getValueWithCallback : (RCTResponseSenderBlock)callback) { - if (!callback) { + if (callback == nullptr) { return; } callback(@[ @"value from callback!" ]); @@ -154,7 +154,7 @@ RCT_EXPORT_METHOD(getValueWithPromise : (RCTPromiseResolveBlock)resolve reject : (RCTPromiseRejectBlock)reject) { - if (!resolve || !reject) { + if ((resolve == nullptr) || (reject == nullptr)) { return; } diff --git a/packages/react-native/ReactCommon/react/renderer/attributedstring/conversions.h b/packages/react-native/ReactCommon/react/renderer/attributedstring/conversions.h index e1a79cc0ea7..0923e85b2c3 100644 --- a/packages/react-native/ReactCommon/react/renderer/attributedstring/conversions.h +++ b/packages/react-native/ReactCommon/react/renderer/attributedstring/conversions.h @@ -402,79 +402,79 @@ inline void fromRawValue( inline std::string toString(const FontVariant& fontVariant) { auto result = std::string{}; auto separator = std::string{", "}; - if ((int)fontVariant & (int)FontVariant::SmallCaps) { + if (((int)fontVariant & (int)FontVariant::SmallCaps) != 0) { result += "small-caps" + separator; } - if ((int)fontVariant & (int)FontVariant::OldstyleNums) { + if (((int)fontVariant & (int)FontVariant::OldstyleNums) != 0) { result += "oldstyle-nums" + separator; } - if ((int)fontVariant & (int)FontVariant::LiningNums) { + if (((int)fontVariant & (int)FontVariant::LiningNums) != 0) { result += "lining-nums" + separator; } - if ((int)fontVariant & (int)FontVariant::TabularNums) { + if (((int)fontVariant & (int)FontVariant::TabularNums) != 0) { result += "tabular-nums" + separator; } - if ((int)fontVariant & (int)FontVariant::ProportionalNums) { + if (((int)fontVariant & (int)FontVariant::ProportionalNums) != 0) { result += "proportional-nums" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticOne) { + if (((int)fontVariant & (int)FontVariant::StylisticOne) != 0) { result += "stylistic-one" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticTwo) { + if (((int)fontVariant & (int)FontVariant::StylisticTwo) != 0) { result += "stylistic-two" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticThree) { + if (((int)fontVariant & (int)FontVariant::StylisticThree) != 0) { result += "stylistic-three" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticFour) { + if (((int)fontVariant & (int)FontVariant::StylisticFour) != 0) { result += "stylistic-four" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticFive) { + if (((int)fontVariant & (int)FontVariant::StylisticFive) != 0) { result += "stylistic-five" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticSix) { + if (((int)fontVariant & (int)FontVariant::StylisticSix) != 0) { result += "stylistic-six" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticSeven) { + if (((int)fontVariant & (int)FontVariant::StylisticSeven) != 0) { result += "stylistic-seven" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticEight) { + if (((int)fontVariant & (int)FontVariant::StylisticEight) != 0) { result += "stylistic-eight" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticNine) { + if (((int)fontVariant & (int)FontVariant::StylisticNine) != 0) { result += "stylistic-nine" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticTen) { + if (((int)fontVariant & (int)FontVariant::StylisticTen) != 0) { result += "stylistic-ten" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticEleven) { + if (((int)fontVariant & (int)FontVariant::StylisticEleven) != 0) { result += "stylistic-eleven" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticTwelve) { + if (((int)fontVariant & (int)FontVariant::StylisticTwelve) != 0) { result += "stylistic-twelve" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticThirteen) { + if (((int)fontVariant & (int)FontVariant::StylisticThirteen) != 0) { result += "stylistic-thirteen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticFourteen) { + if (((int)fontVariant & (int)FontVariant::StylisticFourteen) != 0) { result += "stylistic-fourteen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticFifteen) { + if (((int)fontVariant & (int)FontVariant::StylisticFifteen) != 0) { result += "stylistic-fifteen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticSixteen) { + if (((int)fontVariant & (int)FontVariant::StylisticSixteen) != 0) { result += "stylistic-sixteen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticSeventeen) { + if (((int)fontVariant & (int)FontVariant::StylisticSeventeen) != 0) { result += "stylistic-seventeen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticEighteen) { + if (((int)fontVariant & (int)FontVariant::StylisticEighteen) != 0) { result += "stylistic-eighteen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticNineteen) { + if (((int)fontVariant & (int)FontVariant::StylisticNineteen) != 0) { result += "stylistic-nineteen" + separator; } - if ((int)fontVariant & (int)FontVariant::StylisticTwenty) { + if (((int)fontVariant & (int)FontVariant::StylisticTwenty) != 0) { result += "stylistic-twenty" + separator; } diff --git a/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm b/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm index 504ed94f61a..83bcdf79cbb 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +++ b/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm @@ -63,13 +63,13 @@ static Class getViewManagerFromComponentName(const std::string &componentName) // 1. Try to get the manager with the RCT prefix. auto rctViewManagerName = "RCT" + viewManagerName; Class viewManagerClass = NSClassFromString(RCTNSStringFromString(rctViewManagerName)); - if (viewManagerClass) { + if (viewManagerClass != nullptr) { return viewManagerClass; } // 2. Try to get the manager without the prefix. viewManagerClass = NSClassFromString(RCTNSStringFromString(viewManagerName)); - if (viewManagerClass) { + if (viewManagerClass != nullptr) { return viewManagerClass; } diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h index ed9dbd22036..bdb6e7a99a0 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h @@ -54,7 +54,7 @@ class AndroidTextInputComponentDescriptor final ->getMethod("getThemeData"); if (getThemeData( - fabricUIManager, surfaceId, defaultTextInputPaddingArray)) { + fabricUIManager, surfaceId, defaultTextInputPaddingArray) != 0u) { jfloat* defaultTextInputPadding = env->GetFloatArrayElements(defaultTextInputPaddingArray, nullptr); theme.start = defaultTextInputPadding[0]; diff --git a/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm b/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm index 5ff4b138dc3..a92380ce282 100644 --- a/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +++ b/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm @@ -29,7 +29,7 @@ bool UIColorIsP3ColorSpace(const std::shared_ptr &uiColor) if (CGColorSpaceGetModel(colorSpace) == kCGColorSpaceModelRGB) { CFStringRef name = CGColorSpaceGetName(colorSpace); - if (name != NULL && CFEqual(name, kCGColorSpaceDisplayP3)) { + if (name != NULL && (CFEqual(name, kCGColorSpaceDisplayP3) != 0u)) { return true; } } @@ -105,7 +105,7 @@ uint32_t ColorFromUIColorForSpecificTraitCollection( UITraitCollection *traitCollection) { UIColor *color = (UIColor *)unwrapManagedObject(uiColor); - if (color) { + if (color != nullptr) { color = [color resolvedColorWithTraitCollection:traitCollection]; return ColorFromUIColor(color); } @@ -199,7 +199,7 @@ Color::Color(const ColorComponents &components) Color::Color(std::shared_ptr uiColor) { UIColor *color = ((UIColor *)unwrapManagedObject(uiColor)); - if (color) { + if (color != nullptr) { auto colorHash = hashFromUIColor(uiColor); uiColorHashValue_ = colorHash; } diff --git a/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm b/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm index 2cda6ea1e72..8ba3ec59329 100644 --- a/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +++ b/packages/react-native/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm @@ -29,16 +29,16 @@ inline facebook::react::SharedColor RCTPlatformColorComponentsFromDynamicItems( SharedColor darkSharedColor{}; SharedColor highContrastLightSharedColor{}; SharedColor highContrastDarkSharedColor{}; - if (dynamicItems.count("light")) { + if (dynamicItems.count("light") != 0u) { fromRawValue(contextContainer, surfaceId, dynamicItems.at("light"), lightSharedColor); } - if (dynamicItems.count("dark")) { + if (dynamicItems.count("dark") != 0u) { fromRawValue(contextContainer, surfaceId, dynamicItems.at("dark"), darkSharedColor); } - if (dynamicItems.count("highContrastLight")) { + if (dynamicItems.count("highContrastLight") != 0u) { fromRawValue(contextContainer, surfaceId, dynamicItems.at("highContrastLight"), highContrastLightSharedColor); } - if (dynamicItems.count("highContrastDark")) { + if (dynamicItems.count("highContrastDark") != 0u) { fromRawValue(contextContainer, surfaceId, dynamicItems.at("highContrastDark"), highContrastDarkSharedColor); }