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

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

Calls AnalyzeFuncCall on all external components. This was created because we currently do not call Analyze on "Node:Arg", which is needed to let the components find the arguments themselves. TODO: Handle Node:Arg in the analysis explicitly, to allow this.
private ApplyAnalysisExtensionsToFuncCall ( XmlNode node, ExpressionInfo currentInfo, ExpressionInfo>.IDictionary argInfos ) : ExpressionInfo
node System.Xml.XmlNode
currentInfo ExpressionInfo
argInfos ExpressionInfo>.IDictionary
Результат ExpressionInfo
        private ExpressionInfo ApplyAnalysisExtensionsToFuncCall(XmlNode node, ExpressionInfo currentInfo, IDictionary<uint, ExpressionInfo> argInfos)
        {
            foreach (var analysisExtension in AnalysisExtensions)
            {
                analysisExtension.FunctionMethodAnalyzerFactory = storage =>
                {
                    var customFunctionHandler = new CustomFunctionHandler(this._analyzer, _subroutineAnalyzerFactory);
                    customFunctionHandler.AnalysisExtensions.AddRange(this.AnalysisExtensions);
                    var varStorage = ImmutableVariableStorage.CreateFromMutable(storage);
                    return _subroutineAnalyzerFactory.Create(varStorage, _inclusionResolver, _analysisStacks,
                                                             customFunctionHandler, _vulnerabilityStorage);
                };
                currentInfo = analysisExtension.AnalyzeFunctionCall(node, currentInfo, _variableStorage, _vulnerabilityStorage, argInfos, this._analysisStacks);
            }
            return currentInfo;
        }