diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-30 21:06:10 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-30 21:06:10 +0300 |
commit | f161ad8300a76df40608dd28f0bb75e4b662ffaa (patch) | |
tree | 96e6792c8e59ce95923e2480da3d9137cd902366 /src/analysis/analysis.cpp | |
parent | 1dd80bd16c02f5ab27cee82eb2d2ce5d55fe7fa6 (diff) | |
download | paranucker-f161ad8300a76df40608dd28f0bb75e4b662ffaa.tar.gz paranucker-f161ad8300a76df40608dd28f0bb75e4b662ffaa.tar.bz2 paranucker-f161ad8300a76df40608dd28f0bb75e4b662ffaa.tar.xz paranucker-f161ad8300a76df40608dd28f0bb75e4b662ffaa.zip |
Improve copy walk flags to child nodes.
Diffstat (limited to 'src/analysis/analysis.cpp')
-rw-r--r-- | src/analysis/analysis.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp index 172917c..1fcf211 100644 --- a/src/analysis/analysis.cpp +++ b/src/analysis/analysis.cpp @@ -153,21 +153,21 @@ void walkTree(Node *node, const WalkItem &wi, WalkItem &wo) WalkItem wi2 = wi; // analyse node and after copy all properties from wo to wi2 analyseNode(node, wi2, wo); - removeNeedCheckNullVarsSet(wi2, wi2.removeNullVars); addNeedCheckNullVars(wo, wo); addNeedCheckNullVars(wo, wi2); - addNeedCheckNullVars(wi2, wi2); - wi2.linkedVars = wo.linkedVars; - wi2.linkedReverseVars = wo.linkedReverseVars; - wi2.addNullVars = wo.addNullVars; - - const bool isReturned = wo.isReturned; if (wo.stopWalking) { wo.stopWalking = false; return; } + wi2 = wo; + + addNeedCheckNullVars(wi2, wi2); + removeNeedCheckNullVarsSet(wi2, wi2.removeNullVars); + + const bool isReturned = wo.isReturned; + WalkItem wo2 = wo; if (command != Command::DumpNullPointers) Log::dumpWI(node, "walkTree 2 wo2 ", wo2); |