The Labs \ Source Viewer \ SSCLI \ System.CodeDom.Compiler \ CompilerErrorCollection

  1. // ------------------------------------------------------------------------------
  2. // <copyright file="CompilerErrorCollection.cs" company="Microsoft">
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. // </copyright>
  14. // ------------------------------------------------------------------------------
  15. //
  16. namespace System.CodeDom.Compiler
  17. {
  18.     using System;
  19.     using System.Collections;
  20.     using System.Security.Permissions;
  21.    
  22.    
  23.     /// <devdoc>
  24.     /// <para>
  25.     /// A collection that stores <see cref='System.CodeDom.Compiler.CompilerError'/> objects.
  26.     /// </para>
  27.     /// </devdoc>
  28.     [Serializable()]
  29.     [PermissionSet(SecurityAction.InheritanceDemand, Name = "FullTrust")]
  30.     public class CompilerErrorCollection : CollectionBase
  31.     {
  32.        
  33.         /// <devdoc>
  34.         /// <para>
  35.         /// Initializes a new instance of <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/>.
  36.         /// </para>
  37.         /// </devdoc>
  38.         public CompilerErrorCollection()
  39.         {
  40.         }
  41.        
  42.         /// <devdoc>
  43.         /// <para>
  44.         /// Initializes a new instance of <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> based on another <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/>.
  45.         /// </para>
  46.         /// </devdoc>
  47.         public CompilerErrorCollection(CompilerErrorCollection value)
  48.         {
  49.             this.AddRange(value);
  50.         }
  51.        
  52.         /// <devdoc>
  53.         /// <para>
  54.         /// Initializes a new instance of <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> containing any array of <see cref='System.CodeDom.Compiler.CompilerError'/> objects.
  55.         /// </para>
  56.         /// </devdoc>
  57.         public CompilerErrorCollection(CompilerError[] value)
  58.         {
  59.             this.AddRange(value);
  60.         }
  61.        
  62.         /// <devdoc>
  63.         /// <para>Represents the entry at the specified index of the <see cref='System.CodeDom.Compiler.CompilerError'/>.</para>
  64.         /// </devdoc>
  65.         public CompilerError this[int index]
  66.         {
  67.             get { return ((CompilerError)(List[index])); }
  68.             set { List[index] = value; }
  69.         }
  70.        
  71.         /// <devdoc>
  72.         /// <para>Adds a <see cref='System.CodeDom.Compiler.CompilerError'/> with the specified value to the
  73.         /// <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> .</para>
  74.         /// </devdoc>
  75.         public int Add(CompilerError value)
  76.         {
  77.             return List.Add(value);
  78.         }
  79.        
  80.         /// <devdoc>
  81.         /// <para>Copies the elements of an array to the end of the <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/>.</para>
  82.         /// </devdoc>
  83.         public void AddRange(CompilerError[] value)
  84.         {
  85.             if (value == null) {
  86.                 throw new ArgumentNullException("value");
  87.             }
  88.             for (int i = 0; ((i) < (value.Length)); i = ((i)+(1))) {
  89.                 this.Add(value[i]);
  90.             }
  91.         }
  92.        
  93.         /// <devdoc>
  94.         /// <para>
  95.         /// Adds the contents of another <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> to the end of the collection.
  96.         /// </para>
  97.         /// </devdoc>
  98.         public void AddRange(CompilerErrorCollection value)
  99.         {
  100.             if (value == null) {
  101.                 throw new ArgumentNullException("value");
  102.             }
  103.             int currentCount = value.Count;
  104.             for (int i = 0; i < currentCount; i = ((i)+(1))) {
  105.                 this.Add(value[i]);
  106.             }
  107.         }
  108.        
  109.         /// <devdoc>
  110.         /// <para>Gets a value indicating whether the
  111.         /// <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> contains the specified <see cref='System.CodeDom.Compiler.CompilerError'/>.</para>
  112.         /// </devdoc>
  113.         public bool Contains(CompilerError value)
  114.         {
  115.             return List.Contains(value);
  116.         }
  117.        
  118.         /// <devdoc>
  119.         /// <para>Copies the <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> values to a one-dimensional <see cref='System.Array'/> instance at the
  120.         /// specified index.</para>
  121.         /// </devdoc>
  122.         public void CopyTo(CompilerError[] array, int index)
  123.         {
  124.             List.CopyTo(array, index);
  125.         }
  126.        
  127.         /// <devdoc>
  128.         /// <para>
  129.         /// Gets or sets
  130.         /// a value indicating whether the collection contains errors.
  131.         /// </para>
  132.         /// </devdoc>
  133.         public bool HasErrors {
  134.             get {
  135.                 if (Count > 0) {
  136.                     foreach (CompilerError e in this) {
  137.                         if (!e.IsWarning) {
  138.                             return true;
  139.                         }
  140.                     }
  141.                 }
  142.                 return false;
  143.             }
  144.         }
  145.        
  146.         /// <devdoc>
  147.         /// <para>
  148.         /// Gets or sets
  149.         /// a value indicating whether the collection contains warnings.
  150.         /// </para>
  151.         /// </devdoc>
  152.         public bool HasWarnings {
  153.             get {
  154.                 if (Count > 0) {
  155.                     foreach (CompilerError e in this) {
  156.                         if (e.IsWarning) {
  157.                             return true;
  158.                         }
  159.                     }
  160.                 }
  161.                 return false;
  162.             }
  163.         }
  164.        
  165.         /// <devdoc>
  166.         /// <para>Returns the index of a <see cref='System.CodeDom.Compiler.CompilerError'/> in
  167.         /// the <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> .</para>
  168.         /// </devdoc>
  169.         public int IndexOf(CompilerError value)
  170.         {
  171.             return List.IndexOf(value);
  172.         }
  173.        
  174.         /// <devdoc>
  175.         /// <para>Inserts a <see cref='System.CodeDom.Compiler.CompilerError'/> into the <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> at the specified index.</para>
  176.         /// </devdoc>
  177.         public void Insert(int index, CompilerError value)
  178.         {
  179.             List.Insert(index, value);
  180.         }
  181.        
  182.         /// <devdoc>
  183.         /// <para> Removes a specific <see cref='System.CodeDom.Compiler.CompilerError'/> from the
  184.         /// <see cref='System.CodeDom.Compiler.CompilerErrorCollection'/> .</para>
  185.         /// </devdoc>
  186.         public void Remove(CompilerError value)
  187.         {
  188.             List.Remove(value);
  189.         }
  190.     }
  191. }

Developer Fusion