nitc :: AArrayExpr :: set_comprehension
self
is a part of comprehension array na
If self
is a for
, or a if
, then set_comprehension
is recursively applied.
# Set that `self` is a part of comprehension array `na`
# If `self` is a `for`, or a `if`, then `set_comprehension` is recursively applied.
private fun set_comprehension(n: nullable AExpr)
do
if n == null then
return
else if n isa AForExpr then
set_comprehension(n.n_block)
else if n isa AIfExpr then
set_comprehension(n.n_then)
set_comprehension(n.n_else)
else
# is a leave
n.comprehension = self
end
end
src/semantize/typing.nit:1710,2--1725,4