コード例 #1
0
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        public MoreCustomRules(StyleCopPlusRules parent)
        {
            if (parent == null)
                throw new ArgumentNullException("parent");

            m_parent = parent;
        }
コード例 #2
0
		/// <summary>
		/// Initializes a new instance.
		/// </summary>
		public AdvancedNamingRules(StyleCopPlusRules parent)
		{
			if (parent == null)
				throw new ArgumentNullException("parent");

			m_parent = parent;
		}
コード例 #3
0
		/// <summary>
		/// Initializes a new instance.
		/// </summary>
		public ExtendedOriginalRules(StyleCopPlusRules parent)
		{
			if (parent == null)
				throw new ArgumentNullException("parent");

			m_parent = parent;
		}
コード例 #4
0
        /// <summary>
        /// Finds StyleCop+ analyzer and removes all other analyzers.
        /// </summary>
        private static StyleCopPlusRules ExtractStyleCopPlus(StyleCopConsole console)
        {
            StyleCopPlusRules styleCopPlus = null;

            foreach (SourceParser parser in console.Core.Parsers)
            {
                List <SourceAnalyzer> analyzersToRemove = new List <SourceAnalyzer>();
                foreach (SourceAnalyzer analyzer in parser.Analyzers)
                {
                    if (typeof(StyleCopPlusRules) == analyzer.GetType())
                    {
                        styleCopPlus = (StyleCopPlusRules)analyzer;
                        break;
                    }

                    analyzersToRemove.Add(analyzer);
                }

                foreach (SourceAnalyzer analyzer in analyzersToRemove)
                {
                    parser.Analyzers.Remove(analyzer);
                }
            }

            return(styleCopPlus);
        }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        public MoreCustomRules(StyleCopPlusRules parent)
        {
            if (parent == null)
            {
                throw new ArgumentNullException("parent");
            }

            m_parent = parent;
        }
コード例 #6
0
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        public AdvancedNamingRules(StyleCopPlusRules parent)
        {
            if (parent == null)
            {
                throw new ArgumentNullException("parent");
            }

            m_parent = parent;
        }
コード例 #7
0
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        public ExtendedOriginalRules(StyleCopPlusRules parent)
        {
            if (parent == null)
            {
                throw new ArgumentNullException("parent");
            }

            m_parent = parent;
        }
コード例 #8
0
        /// <summary>
        /// Runs StyleCop+ for specified file.
        /// </summary>
        public void Run(string sourceFile, SpecialRunningParameters specialRunningParameters)
        {
            Violations.Clear();
            Output.Length = 0;

            string basePath = AppDomain.CurrentDomain.BaseDirectory;

            StyleCopConsole console = new StyleCopConsole(
                null,
                false,
                null,
                new List <string>(new[] { basePath }),
                true);

            StyleCopPlusRules styleCopPlus = ExtractStyleCopPlus(console);

            if (styleCopPlus == null)
            {
                throw new InvalidOperationException("StyleCopPlus was not found.");
            }

            styleCopPlus.SpecialRunningParameters = specialRunningParameters;

            CodeProject project = new CodeProject(
                0,
                basePath,
                new Configuration(null));

            console.Core.Environment.AddSourceCode(project, sourceFile, null);

            console.ViolationEncountered += OnViolationEncountered;
            console.OutputGenerated      += OnOutputGenerated;
            console.Start(new[] { project }, true);

            console.OutputGenerated      -= OnOutputGenerated;
            console.ViolationEncountered -= OnViolationEncountered;
        }