private IProjectContent AddAllAssemblyReferences(CSharpSolution solution, Project msbuildProject, IProjectContent pc) { foreach (var assemblyFile in ResolveAssemblyReferences(msbuildProject)) { var assembly = solution.LoadAssembly(assemblyFile); pc = pc.AddAssemblyReferences(new[] { assembly }); } return(pc); }
private void PostSolutionLoadSummary(CSharpSolution solution) { _buildMessenger.ExecuteOnBuildMessage( string.Format(_sdBuildStrings.ProjectsLoaded, solution.AllFiles.Sum(f => f.LinesOfCode), solution.AllFiles.Sum(f => f.OriginalText.Length) / 1024.0 / 1024.0, solution.AllFiles.Count(), solution.Projects.Count)); }
public CSharpProject(CSharpSolution solution, string title, string fileName) { Files = new List<CSharpFile>(); CompilerSettings = new CompilerSettings(); Solution = solution; Title = title; FileName = fileName; LoadCSharpProject(solution, fileName); }
public CSharpProject(CSharpSolution solution, string title, string fileName) { Files = new List <CSharpFile>(); CompilerSettings = new CompilerSettings(); Solution = solution; Title = title; FileName = fileName; LoadCSharpProject(solution, fileName); }
public CSharpSolution LoadSolution() { _buildMessenger.ExecuteOnStepProgress(0); _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.LoadingSolution); var solution = new CSharpSolution(_sdBuildStrings, _buildMessenger); solution.LoadSolution(_config.InputPath); PostSolutionLoadSummary(solution); _buildMessenger.ExecuteOnStepProgress(100); return solution; }
public SDRepository ParseStructure(CSharpSolution solution) { _solution = solution; _repository = new SDRepository(); _buildMessenger.ExecuteOnStepProgress(0); _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.ParsingSolution); ParseNamespaces(); ParseTypes(); _buildMessenger.ExecuteOnStepProgress(100); return _repository; }
private void LoadCSharpProject(CSharpSolution solution, string fileName) { try { var msbuildProject = LoadAndInitProject(solution, fileName); var pc = CreateCSharpProjectContent(fileName); pc = AddCompileFilesToProject(msbuildProject, pc); pc = AddAllAssemblyReferences(solution, msbuildProject, pc); pc = AddAllProjectReferences(msbuildProject, pc); ProjectContent = pc; } catch (InvalidProjectFileException invalidproject) { Trace.TraceWarning(invalidproject.ToString()); } }
private Project LoadAndInitProject(CSharpSolution solution, string fileName) { var globalProperties = new Dictionary<string, string>(); globalProperties.Add("SolutionDir", solution.Directory); var msbuildProject = new Project(fileName, globalProperties, null, ProjectCollection.GlobalProjectCollection, ProjectLoadSettings.IgnoreMissingImports); AssemblyName = msbuildProject.GetPropertyValue("AssemblyName"); CompilerSettings.AllowUnsafeBlocks = GetBoolProperty(msbuildProject, "AllowUnsafeBlocks") ?? false; CompilerSettings.CheckForOverflow = GetBoolProperty(msbuildProject, "CheckForOverflowUnderflow") ?? false; var defineConstants = msbuildProject.GetPropertyValue("DefineConstants"); foreach (var symbol in defineConstants.Split(new[] {';'}, StringSplitOptions.RemoveEmptyEntries)) CompilerSettings.ConditionalSymbols.Add(symbol.Trim()); return msbuildProject; }
public SDRepository ParseSolution(CSharpSolution solution, List<string> excludedIdentifiers) { _solution = solution; _excludedIdentifiers = excludedIdentifiers ?? new List<string>(); _repository = new SDRepository(); _buildMessenger.ExecuteOnStepProgress(0); _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.ParsingSolution); GetProjectInfos(); GetImages(); ParseNamespaces(); ParseTypes(); ParseArticles(); ParseMethodCalls(); ResolveUses(); _buildMessenger.ExecuteOnStepProgress(100); return _repository; }
private Project LoadAndInitProject(CSharpSolution solution, string fileName) { var globalProperties = new Dictionary <string, string>(); globalProperties.Add("SolutionDir", solution.Directory); var msbuildProject = new Project(fileName, globalProperties, null, ProjectCollection.GlobalProjectCollection, ProjectLoadSettings.IgnoreMissingImports); AssemblyName = msbuildProject.GetPropertyValue("AssemblyName"); CompilerSettings.AllowUnsafeBlocks = GetBoolProperty(msbuildProject, "AllowUnsafeBlocks") ?? false; CompilerSettings.CheckForOverflow = GetBoolProperty(msbuildProject, "CheckForOverflowUnderflow") ?? false; var defineConstants = msbuildProject.GetPropertyValue("DefineConstants"); foreach (var symbol in defineConstants.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) { CompilerSettings.ConditionalSymbols.Add(symbol.Trim()); } return(msbuildProject); }
private IProjectContent AddAllAssemblyReferences(CSharpSolution solution, Project msbuildProject, IProjectContent pc) { foreach (var assemblyFile in ResolveAssemblyReferences(msbuildProject)) { var assembly = solution.LoadAssembly(assemblyFile); pc = pc.AddAssemblyReferences(new[] { assembly }); } return pc; }
internal MethodCallParser(SDRepository repository, CSharpSolution solution) : base(repository) { _solution = solution; }