NullabilityInference/.github/img
Daniel Grunwald 9dcfbcf1bc #5: Implement inference for `[NotNullWhen(bool)]` attribute.
The overall idea here is:
 * in addition to the primary node for the parameter's type, we have two additional nodes whenTrue/whenFalse for out parameters on methods that return a boolean.
 * on return true|false;, connect the current flow-state of the parameter with the whenTrue/whenFalse node.
 * at the call side, if the method is called in a condition, use the whenTrue/whenFalse nodes as flow-states for the assigned variable
 * after nullabilities are inferred for nodes, if the primary node is nullable and exactly one of whenTrue/whenFalse is non-nullable, emit the `[NotNullWhen(..)]` attribute
2020-06-13 21:53:26 +02:00
..
FlowState.png #5: Implement inference for `[NotNullWhen(bool)]` attribute. 2020-06-13 21:53:26 +02:00
GenericCall.png Document my approach to nullability inference in readme. 2020-05-28 17:17:15 +02:00
GenericType.png #5: Implement inference for `[NotNullWhen(bool)]` attribute. 2020-06-13 21:53:26 +02:00
SimpleClass.png Document my approach to nullability inference in readme. 2020-05-28 17:17:15 +02:00