internal TypeParser(ParserOptions parserOptions) : base(parserOptions) { _typeRefParser = new TypeRefParser(this, parserOptions); _eventParser = new EventParser(_typeRefParser, parserOptions); _fieldParser = new FieldParser(_typeRefParser, parserOptions); _methodParser = new MethodParser(_typeRefParser, parserOptions); _propertyParser = new PropertyParser(_typeRefParser, parserOptions); }
public SDSolution GetParsedSolution(string solutionFile, ICoreConfigSection sharpDoxConfig, Dictionary<string, string> tokens, bool parseMethodCalls, bool ignoreExcludes = false) { var sdSolution = new SDSolution(solutionFile); var solution = _roslynLoader.LoadSolutionFile(solutionFile); var parserOptions = new ParserOptions(); parserOptions.CodeSolution = solution; parserOptions.SDSolution = sdSolution; parserOptions.SharpDoxConfig = sharpDoxConfig; parserOptions.Tokens = tokens; parserOptions.IgnoreExcludes = ignoreExcludes; ParseProjects(parserOptions); CleanUpNamespaces(sdSolution); if (parseMethodCalls) ParseMethodCalls(parserOptions); ResolveSeeTokens(parserOptions); ResolveUses(parserOptions); return sdSolution; }
internal StrangerTypeParser(ParserOptions parserOptions) : base(parserOptions) { }
internal BaseParser(ParserOptions parserOptions) { ParserOptions = parserOptions; DocumentationParser = new DocumentationParser(parserOptions.SeeTokens); }
internal MethodCallParser(ParserOptions parserOptions) : base(parserOptions) { }
internal TypeRefParser(StrangerTypeParser strangerTypeParser, ParserOptions parserOptions) : base(parserOptions) { _strangerTypeParser = strangerTypeParser; }
internal NamespaceParser(ParserOptions parserOptions) : base(parserOptions) { _typeParser = new TypeParser(parserOptions); _descriptionFiles = Directory.EnumerateFiles(Path.GetDirectoryName(parserOptions.SDSolution.SolutionFile), "*.sdnd", SearchOption.AllDirectories).ToList(); }
internal PropertyParser(TypeRefParser typeRefParser, ParserOptions parserOptions) : base(parserOptions) { _typeRefParser = typeRefParser; }
internal FieldParser(TypeRefParser typeRefParser, ParserOptions parserOptions) : base(parserOptions) { _typeRefParser = typeRefParser; }
private void ResolveUses(ParserOptions parserOptions) { for (int i = 0; i < parserOptions.SDSolution.Repositories.Count; i++) { var sdRepository = parserOptions.SDSolution.Repositories[i]; ExecuteOnStepMessage(string.Format(_parserStrings.ParsingUseings, sdRepository.TargetFx.Name)); ExecuteOnStepProgress((int)((double)i / parserOptions.SDSolution.Repositories.Count * 40) + 60); var useParser = new UseParser(sdRepository); useParser.ResolveAllUses(); } }
private void ParseProjects(ParserOptions parserOptions) { var projects = parserOptions.CodeSolution.Projects.ToList(); for (int i = 0; i < projects.Count; i++) { var project = projects[i]; ExecuteOnStepMessage(string.Format(_parserStrings.CompilingAndParsing, project.Name)); ExecuteOnStepProgress((int)((double)i / projects.Count * 50)); var projectCompilation = project.GetCompilationAsync().Result; var targetFx = _targetFxParser.GetTargetFx(project.FilePath); var sdRepository = parserOptions.SDSolution.GetExistingOrNew(targetFx); parserOptions.SDRepository = sdRepository; var nparser = new NamespaceParser(parserOptions); nparser.ParseProjectNamespacesRecursively(projectCompilation.Assembly.GlobalNamespace); if (!_seeTokens.ContainsKey(targetFx)) { _seeTokens.Add(targetFx, new List<SDToken>()); } _seeTokens[targetFx].AddRange(parserOptions.SeeTokens); } ExecuteOnStepProgress(40); }
private void ParseMethodCalls(ParserOptions parserOptions) { for (int i = 0; i < parserOptions.SDSolution.Repositories.Count; i++) { var sdRepository = parserOptions.SDSolution.Repositories[i]; ExecuteOnStepMessage(string.Format(_parserStrings.ParsingMethod, sdRepository.TargetFx.Name)); ExecuteOnStepProgress((int)((double)i / parserOptions.SDSolution.Repositories.Count * 40) + 60); var methodParser = new MethodCallParser(parserOptions); methodParser.ParseMethodCalls(); } }
internal MethodCallParser(ParserOptions parserOptions) : base(parserOptions) { }
internal BaseParser(ParserOptions parserOptions) { ParserOptions = parserOptions; DocumentationParser = new DocumentationParser(parserOptions.SeeTokens); }
internal EventParser(TypeRefParser typeRefParser, ParserOptions parserOptions) : base(parserOptions) { _typeRefParser = typeRefParser; }
internal MethodParser(TypeRefParser typeRefParser, ParserOptions parserOptions) : base(parserOptions) { _typeRefParser = typeRefParser; }
internal PropertyParser(TypeRefParser typeRefParser, ParserOptions parserOptions) : base(parserOptions) { _typeRefParser = typeRefParser; }
internal NamespaceParser(ParserOptions parserOptions) : base(parserOptions) { _typeParser = new TypeParser(parserOptions); _descriptionFiles = Directory.EnumerateFiles(Path.GetDirectoryName(parserOptions.SDSolution.SolutionFile), "*.sdnd", SearchOption.AllDirectories).ToList(); }
internal TypeRefParser(StrangerTypeParser strangerTypeParser, ParserOptions parserOptions) : base(parserOptions) { _strangerTypeParser = strangerTypeParser; }