Skip to content

Commit 099d173

Browse files
Mark _deviceForNodeID:createIfNeeded: as possibly returning nil. (project-chip#36617)
1 parent 8c7acb6 commit 099d173

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/darwin/Framework/CHIP/MTRDeviceController.mm

+1-1
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ - (MTRDevice *)_setupDeviceForNodeID:(NSNumber *)nodeID prefetchedClusterData:(N
371371
return [[MTRDevice alloc] initForSubclassesWithNodeID:nodeID controller:self];
372372
}
373373

374-
- (MTRDevice *)_deviceForNodeID:(NSNumber *)nodeID createIfNeeded:(BOOL)createIfNeeded
374+
- (MTRDevice * _Nullable)_deviceForNodeID:(NSNumber *)nodeID createIfNeeded:(BOOL)createIfNeeded
375375
{
376376
std::lock_guard lock(*self.deviceMapLock);
377377
MTRDevice * deviceToReturn = [_nodeIDToDeviceMap objectForKey:nodeID];

src/darwin/Framework/CHIP/MTRDeviceController_Internal.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ NS_ASSUME_NONNULL_BEGIN
107107
#pragma mark - Device-specific data and SDK access
108108
// DeviceController will act as a central repository for this opaque dictionary that MTRDevice manages
109109
- (MTRDevice *)deviceForNodeID:(NSNumber *)nodeID;
110-
- (MTRDevice *)_deviceForNodeID:(NSNumber *)nodeID createIfNeeded:(BOOL)createIfNeeded;
110+
// _deviceForNodeID:createIfNeeded: can only return nil if NO is passed for createIfNeeded.
111+
- (MTRDevice * _Nullable)_deviceForNodeID:(NSNumber *)nodeID createIfNeeded:(BOOL)createIfNeeded;
111112
/**
112113
* _setupDeviceForNodeID is a hook expected to be implemented by subclasses to
113114
* actually allocate a device object of the right type.

0 commit comments

Comments
 (0)