PetScan::resolve_nested: handle self dependences in conditional assignments
commit841bdb65be3c5688892bb29cfaa1d09e36ee6e23
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 27 Dec 2013 09:55:05 +0000 (27 10:55 +0100)
committerSven Verdoolaege <skimo@kotnet.org>
Mon, 24 Mar 2014 16:32:10 +0000 (24 17:32 +0100)
treeca7c567944b0332751ad0bb123eb4046323f198d
parente499c437e70560a30e9e358ee867607808dd29aa
PetScan::resolve_nested: handle self dependences in conditional assignments

In the next commit we will extract access expressions as pet_expr
objects first.  This has the side effect that nested accesses
are directly extracted as arguments of the nesting access
rather than first being represented by parameters.
The conditions of the conditional assignment therefore also
get applied to these nested accesses, whereas they currently are not
since these nested accesses are hidden inside parameters.
This is arguably the correct thing to do, but it may result
in nested accesses depending on themselves if they happen
to also appear in the condition.  We therefore add some special handling
to detect such cases.  This handling will only be effective after the next
commit.  We apply it first in order to make the next commit more
readable.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
scan.cc