private ISet <VariableAlias> _CollectAliases(string source) { var semanticModel = _documentFactory.CreateSemanticModel(source); var forStatement = semanticModel.SyntaxTree.GetRoot().DescendantNodes().OfType <ForStatementSyntax>().Single(); var code = CodeFactory.Create(forStatement, semanticModel); var variableAccesses = VariableAccesses.Collect(code); var cfg = ControlFlowGraphFactory.Create(code); return(ExternalArrayAliasCollector.Collect(semanticModel, forStatement, variableAccesses)); }