@@ -433,8 +433,6 @@ private module ArgumentNodes {
433433 ObserverArgumentNode ( ) {
434434 observer .getBase ( ) = this .getCfgNode ( )
435435 or
436- // TODO: This should be an rvalue representing the `getBase` when
437- // `observer` a `didSet` observer.
438436 observer .getSource ( ) = this .getCfgNode ( )
439437 }
440438
@@ -444,7 +442,6 @@ private module ArgumentNodes {
444442 pos = TThisArgument ( ) and
445443 observer .getBase ( ) = this .getCfgNode ( )
446444 or
447- // TODO: See the comment above for `didSet` observers.
448445 pos .( PositionalArgumentPosition ) .getIndex ( ) = 0 and
449446 observer .getSource ( ) = this .getCfgNode ( )
450447 )
@@ -683,14 +680,14 @@ predicate storeStep(Node node1, ContentSet c, Node node2) {
683680 // i.e. from `f(x)` where `x: T` into `f(.some(x))` where the context `f` expects a `T?`.
684681 exists ( InjectIntoOptionalExpr e |
685682 e .convertsFrom ( node1 .asExpr ( ) ) and
686- node2 = node1 and // HACK : we should ideally have a separate Node case for the (hidden) InjectIntoOptionalExpr
683+ node2 = node1 and // TODO : we should ideally have a separate Node case for the (hidden) InjectIntoOptionalExpr
687684 c instanceof OptionalSomeContentSet
688685 )
689686 or
690687 // creation of an optional by returning from a failable initializer (`init?`)
691688 exists ( Initializer init |
692689 node1 .asExpr ( ) .( CallExpr ) .getStaticTarget ( ) = init and
693- node2 = node1 and // HACK : again, we should ideally have a separate Node case here, and not reuse the CallExpr
690+ node2 = node1 and // TODO : again, we should ideally have a separate Node case here, and not reuse the CallExpr
694691 c instanceof OptionalSomeContentSet and
695692 init .isFailable ( )
696693 )
0 commit comments