Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Extracts out
FBSimulator
simulator behavior to allow all Simulators to be wrapped with theFBSimulator
conveniences that are relevant, regardless of whether they are managed or unmanaged.A Concreted subclass
FBManagedSimulator
deals with allocation/freeing of these Simulators. This improves a lot of the inflation ofSimDevice
toFBSimulator
and means thatFBSimulatorPool
spends a lot less time dealing with heterogeneous objects.This also means that expensive information about a simulator (for example the construction of processes that have been created through
launchd_sim
) can be done lazily and will apply to any simulator, not just 'managed' ones.