PHPAnalysis.Analysis.CFG.Taint.TaintBlockAnalyzer.Expr_AssignOp_Concat C# (CSharp) Метод

Expr_AssignOp_Concat() приватный Метод

private Expr_AssignOp_Concat ( XmlNode node ) : ExpressionInfo
node System.Xml.XmlNode
Результат ExpressionInfo
        private ExpressionInfo Expr_AssignOp_Concat(XmlNode node)
        {
            var rhsExpr = node.GetSubNode(AstConstants.Subnode + ":" + AstConstants.Subnodes.Expr);
            var rhsTaint = Analyze(rhsExpr);
            var lhsExpr = node.GetSubNode(AstConstants.Subnode + ":" + AstConstants.Subnodes.Var);
            var lhsVariable = _varResolver.ResolveVariable(lhsExpr.FirstChild).Variable;

            lhsVariable.Info.Taints = lhsVariable.Info.Taints.Merge(rhsTaint.ExpressionTaint);
            var result = new ExpressionInfo() { ExpressionTaint = lhsVariable.Info.Taints };

            if (lhsVariable.Info.Value != null && rhsTaint.ValueInfo.Value != null)
            {
                lhsVariable.Info.Value = lhsVariable.Info.Value + rhsTaint.ValueInfo.Value;
            }

            return result;
        }