PHPAnalysis.Analysis.CFG.Taint.ConditionTaintAnalyser.AnalyzeNode C# (CSharp) Метод

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

private AnalyzeNode ( XmlNode node ) : TaintSets
node System.Xml.XmlNode
Результат TaintSets
        private TaintSets AnalyzeNode(XmlNode node)
        {
            switch (node.LocalName)
            {
                case AstConstants.Nodes.Expr_BooleanNot:
                    return Expr_BooleanNot(node);
                case AstConstants.Nodes.Expr_FuncCall:
                    return Node_FuncCall(node);

                case AstConstants.Nodes.Stmt_Case:
                case AstConstants.Nodes.Stmt_Do:
                case AstConstants.Nodes.Stmt_ElseIf:
                case AstConstants.Nodes.Stmt_For:
                case AstConstants.Nodes.Stmt_If:
                case AstConstants.Nodes.Stmt_While:
                    return Analyze(Conditional.GetCondNode(node));
                //case AstConstants.Nodes.Stmt_Switch:
                // Conditional sanitization is currently not supported with switches.
                // Since they require special handling (the condition is a mix of the switch node as well as the case nodes).
                case AstConstants.Nodes.Expr_BinaryOp_Equal:
                case AstConstants.Nodes.Expr_BinaryOp_Identical:
                    return EqualsComparison(node);
                case AstConstants.Nodes.Expr_BinaryOp_NotEqual:
                case AstConstants.Nodes.Expr_BinaryOp_NotIdentical:
                    isNegated = !isNegated;
                    return EqualsComparison(node);

                default:
                    return new TaintSets().ClearTaint();
            }
        }