summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/analysis/expression.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp
index db70da6..57263d3 100644
--- a/src/analysis/expression.cpp
+++ b/src/analysis/expression.cpp
@@ -1000,6 +1000,12 @@ bool handleSetVarToFunction(const std::string &var,
comp = static_cast<CompoundExprNode*>(node2);
if (comp->args.empty())
return handleSetVarToFunctionBack(var, node2, wo);
+ if(comp->args.size() > 1 &&
+ skipNop(comp->args[0]) == TARGET_EXPR &&
+ skipNop(comp->args[1]) == COMPOUND_EXPR)
+ {
+ comp = static_cast<CompoundExprNode*>(skipNop(comp->args[1]));
+ }
if (skipNop(comp->args[0]) == TRY_CATCH_EXPR)
{
TryCatchExprNode *tryCatch = static_cast<TryCatchExprNode*>(skipNop(comp->args[0]));