diff --git a/React/Base/RCTAssert.h b/React/Base/RCTAssert.h index 3b934f9d86..7c7fc2e6fa 100644 --- a/React/Base/RCTAssert.h +++ b/React/Base/RCTAssert.h @@ -173,6 +173,7 @@ RCT_EXTERN NSString *RCTFormatStackTrace(NSArray *> // MARK: - New Architecture Validation typedef enum { + RCTNotAllowedValidationDisabled = 0, RCTNotAllowedInAppWideFabric = 1, RCTNotAllowedInBridgeless = 2, } RCTNotAllowedValidation; @@ -189,7 +190,7 @@ typedef enum { * * Note: enabling this at runtime is not early enough to report issues within ObjC class +load execution. */ -__attribute__((used)) RCT_EXTERN void RCTEnableNewArchitectureValidationReporting(RCTNotAllowedValidation type); +__attribute__((used)) RCT_EXTERN void RCTNewArchitectureValidationSetEnabled(RCTNotAllowedValidation type); // When new architecture validation reporting is enabled, trigger an assertion and crash. __attribute__((used)) RCT_EXTERN void diff --git a/React/Base/RCTAssert.m b/React/Base/RCTAssert.m index 00b4f96398..4044456646 100644 --- a/React/Base/RCTAssert.m +++ b/React/Base/RCTAssert.m @@ -236,10 +236,10 @@ RCTFatalExceptionHandler RCTGetFatalExceptionHandler(void) #if RCT_NEW_ARCHITECTURE static RCTNotAllowedValidation validationReportingEnabled = RCTNotAllowedInBridgeless; #else -static RCTNotAllowedValidation validationReportingEnabled = 0; +static RCTNotAllowedValidation validationReportingEnabled = RCTNotAllowedValidationDisabled; #endif -__attribute__((used)) RCT_EXTERN void RCTEnableNewArchitectureValidationReporting(RCTNotAllowedValidation type) +__attribute__((used)) RCT_EXTERN void RCTNewArchitectureValidationSetEnabled(RCTNotAllowedValidation type) { #if RCT_NEW_ARCHITECTURE // Cannot disable the reporting in this mode. @@ -258,6 +258,8 @@ static BOOL shouldEnforceValidation(RCTNotAllowedValidation type) validationReportingEnabled == RCTNotAllowedInAppWideFabric; case RCTNotAllowedInBridgeless: return validationReportingEnabled == RCTNotAllowedInBridgeless; + case RCTNotAllowedValidationDisabled: + return NO; } return NO; } @@ -279,6 +281,9 @@ static NSString *validationMessage(RCTNotAllowedValidation type, id context, NSS { NSString *notAllowedType; switch (type) { + case RCTNotAllowedValidationDisabled: + RCTAssert(0, @"RCTNotAllowedValidationDisabled not a validation type."); + break; case RCTNotAllowedInAppWideFabric: notAllowedType = @"Fabric"; break;