NoirMobileLinker::IosHandlers
Scans .swift files once for the central deep-link dispatch handlers and groups their callees/params by kind. URL handlers process custom schemes; userActivity handlers process universal links.
Constants
Objective-C query reads. The dominant idiom is iterating
components.queryItems and comparing the item's name against a
literal — [item.name isEqualToString:@"token"] (e.g. VLC reads
plexToken / payment_intent this way). Anchored to .name / name]
(not a bare isEqualToString:) so a [host isEqualToString:@"new"]
check can't become a phantom param. Also the explicit query-item
constructor.
Objective-C counterparts. The same delegate methods are written as
message-style declarations: - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:…. Matched on the folded signature, so a
wrapped parameter list still classifies.
URLQueryItem name comparisons inside a handler — the iOS analog of
Android's getQueryParameter. Anchored to the closure-shorthand form
($0.name == "x") and an explicit URLQueryItem(name: "x") so a plain
user.name == "admin" comparison can't become a phantom query param.
Opening of an application(...) / scene(...) delegate method whose
parameter list may wrap across lines; used to fold the signature
before classifying it against the handler patterns above.
Same-line markers for the brace that opens a handler body.