/// <summary> /// Analyze regular build spec file. /// </summary> /// <remarks> /// A semantic model can be passed, if available. Observe the semantic model is never available /// when analyzing config or package config files, so this is the only method that exposes it. /// </remarks> public bool AnalyzeSpecFile(ISourceFile file, Logger logger, LoggingContext loggingContext, PathTable pathTable, Workspace workspace) { Contract.Requires(file != null); var scope = file.IsBuildListFile() ? RuleAnalysisScope.BuildListFile : RuleAnalysisScope.SpecFile; return(AnalyzeSourceFile(file, scope, logger, loggingContext, pathTable, workspace)); }