private ExpressionInfo ApplyAnalysisExtensions(XmlNode node, ExpressionInfo currentInfo)
{
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.Analyze(node, currentInfo, _variableStorage, _vulnerabilityStorage);
}
return currentInfo;
}