public void HandleCommand()

in src/Analysis/Codelyzer.Analysis/AnalyzerCLI.cs [66:138]


        public void HandleCommand(String[] args)
        {
            Parser.Default.ParseArguments<Options>(args)
                .WithNotParsed(HandleParseError)
                .WithParsed<Options>(o =>
                {
                    if (!string.IsNullOrEmpty(o.ProjectPath))
                    {
                        Project = true;
                        FilePath = o.ProjectPath;
                    }
                    else
                    {
                        Project = false;
                        FilePath = o.SolutionPath;
                    }

                    if (!string.IsNullOrEmpty(o.JsonFilePath))
                    {
                        Configuration.ExportSettings.GenerateJsonOutput = true;
                        Configuration.ExportSettings.OutputPath = o.JsonFilePath;
                    }

                    if (!string.IsNullOrEmpty(o.GenerateBinFiles))
                    {
                        Configuration.MetaDataSettings.GenerateBinFiles = o.GenerateBinFiles.ToLower() == bool.TrueString.ToLower();
                    }

                    if (!string.IsNullOrEmpty(o.ReferenceData))
                    {
                        Configuration.MetaDataSettings.ReferenceData = o.ReferenceData.ToLower() == bool.TrueString.ToLower();
                    }

                    if (!string.IsNullOrEmpty(o.LocationData))
                    {
                        Configuration.MetaDataSettings.LocationData = o.LocationData.ToLower() == bool.TrueString.ToLower();
                    }

                    if (!string.IsNullOrEmpty(o.DetailedAnalysis))
                    {
                        var result = o.DetailedAnalysis.ToLower() == bool.TrueString.ToLower();

                        Configuration.MetaDataSettings.EnumDeclarations = result;
                        Configuration.MetaDataSettings.StructDeclarations = result;
                        Configuration.MetaDataSettings.InterfaceDeclarations = result;
                        Configuration.MetaDataSettings.DeclarationNodes = result;
                        Configuration.MetaDataSettings.Annotations = result;
                        Configuration.MetaDataSettings.ElementAccess = result;
                        Configuration.MetaDataSettings.MemberAccess = result;
                    }
                    else if (!string.IsNullOrEmpty(o.MetaDataDetails))
                    {
                        ConfigureMetaDataDetails(o.MetaDataDetails, Configuration.MetaDataSettings);
                    }

                    if (!string.IsNullOrEmpty(o.ConcurrentThreads))
                    {
                        int.TryParse(o.ConcurrentThreads, out int concurrentThreads);
                        Configuration.ConcurrentThreads = concurrentThreads > 0 ? concurrentThreads : Constants.DefaultConcurrentThreads;
                    }

                    if (!string.IsNullOrEmpty(o.AnalyzeFailed))
                    {
                        Configuration.AnalyzeFailedProjects = o.AnalyzeFailed.ToLower() == bool.TrueString.ToLower();
                    }
                });

            if (FilePath == null)
            {
                Console.WriteLine("Project or Solution File path is missing");
                Environment.Exit(-1);
            }
        }