In the definition of the transfer function, $\top$ is used for the second element of the type pair as the "default". As far as I understand, $\top$ this is Any? and in that position would mean that the expression is smart cast to non-nullable.
For example in the rule for x == null this would mean that approxNegationType(N) = approxNegationType(Any?) = Any. Am I misunderstanding this or should the $\top$ s be $\bot$ s?
In the definition of the transfer function, $\top$ is used for the second element of the type pair as the "default". As far as I understand, $\top$ this is
Any?
and in that position would mean that the expression is smart cast to non-nullable.For example in the rule for
x == null
this would mean thatapproxNegationType(N) = approxNegationType(Any?) = Any
. Am I misunderstanding this or should the $\top$ s be $\bot$ s?