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

  1. //------------------------------------------------------------------------------
  2. // <copyright file="GeneratorSupport.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. namespace System.CodeDom.Compiler
  16. {
  17.    
  18.     using System.ComponentModel;
  19.    
  20.     /// <devdoc>
  21.     /// <para>[To be supplied.]</para>
  22.     /// </devdoc>
  23.     [Flags(), Serializable()]
  24.     public enum GeneratorSupport
  25.     {
  26.         /// <devdoc>
  27.         /// <para>[To be supplied.]</para>
  28.         /// </devdoc>
  29.         ArraysOfArrays = 1,
  30.         /// <devdoc>
  31.         /// <para>[To be supplied.]</para>
  32.         /// </devdoc>
  33.         EntryPointMethod = 2,
  34.         /// <devdoc>
  35.         /// <para>[To be supplied.]</para>
  36.         /// </devdoc>
  37.         GotoStatements = 4,
  38.         /// <devdoc>
  39.         /// <para>[To be supplied.]</para>
  40.         /// </devdoc>
  41.         MultidimensionalArrays = 8,
  42.         /// <devdoc>
  43.         /// <para>[To be supplied.]</para>
  44.         /// </devdoc>
  45.         StaticConstructors = 16,
  46.         /// <devdoc>
  47.         /// <para>[To be supplied.]</para>
  48.         /// </devdoc>
  49.         TryCatchStatements = 32,
  50.         /// <devdoc>
  51.         /// <para>[To be supplied.]</para>
  52.         /// </devdoc>
  53.         ReturnTypeAttributes = 64,
  54.         /// <devdoc>
  55.         /// <para>[To be supplied.]</para>
  56.         /// </devdoc>
  57.         DeclareValueTypes = 128,
  58.         /// <devdoc>
  59.         /// <para>[To be supplied.]</para>
  60.         /// </devdoc>
  61.         DeclareEnums = 256,
  62.         /// <devdoc>
  63.         /// <para>[To be supplied.]</para>
  64.         /// </devdoc>
  65.         DeclareDelegates = 512,
  66.         /// <devdoc>
  67.         /// <para>[To be supplied.]</para>
  68.         /// </devdoc>
  69.         DeclareInterfaces = 1024,
  70.         /// <devdoc>
  71.         /// <para>[To be supplied.]</para>
  72.         /// </devdoc>
  73.         DeclareEvents = 2048,
  74.         /// <devdoc>
  75.         /// <para>[To be supplied.]</para>
  76.         /// </devdoc>
  77.         AssemblyAttributes = 4096,
  78.         /// <devdoc>
  79.         /// <para>Supports custom metadata attributes declared on parameters for methods and constructors. Allows
  80.         /// use of CodeParameterDeclarationExpress.CustomAttributes.</para>
  81.         /// </devdoc>
  82.         ParameterAttributes = 8192,
  83.         /// <devdoc>
  84.         /// <para>Supports declaring and calling parameters with a FieldDirection of Out or Ref, meaning that
  85.         /// the value is a type of reference parameter.</para>
  86.         /// </devdoc>
  87.         ReferenceParameters = 16384,
  88.         /// <devdoc>
  89.         /// <para>Supports contructors that call other constructors within the same class. Allows use of the
  90.         /// CodeConstructor.ChainedConstructorArgs collection.</para>
  91.         /// </devdoc>
  92.         ChainedConstructorArguments = 32768,
  93.         /// <devdoc>
  94.         /// <para>Supports declaring types that are nested within other types. This allows the insertion of a
  95.         /// CodeTypeReference into the Members collection of another CodeTypeReference.</para>
  96.         /// </devdoc>
  97.         NestedTypes = 65536,
  98.         /// <devdoc>
  99.         /// <para>Supports declaring methods, properties or events that simultaneously implement more than one interface of
  100.         /// a type that have a matching name. This allows insertion of more than one entry into the ImplementationTypes
  101.         /// collection or CodeMemberProperty, CodeMemberMethod and CodeMemberEvent.</para>
  102.         /// </devdoc>
  103.         MultipleInterfaceMembers = 131072,
  104.         /// <devdoc>
  105.         /// <para>Supports the declaration of public static fields, properties, methods and events. This allows use of
  106.         /// MemberAttributes.Static in combination with access values other than MemberAttributes.Private.</para>
  107.         /// </devdoc>
  108.         PublicStaticMembers = 262144,
  109.         /// <devdoc>
  110.         /// <para>Supports the generation arbitarily nested expressions. Not all generators may be able to deal with
  111.         /// multiple function calls or binary operations in the same expression. Without this, CodeMethodInvokeExpression and
  112.         /// CodeBinaryOperatorExpression should only be used (a) as the Right value of a CodeAssignStatement or (b) in a
  113.         /// CodeExpressionStatement.</para>
  114.         /// </devdoc>
  115.         ComplexExpressions = 524288,
  116.         /// <devdoc>
  117.         /// <para>Supports linking with Win32 resources.</para>
  118.         /// </devdoc>
  119.         Win32Resources = 1048576,
  120.         /// <devdoc>
  121.         /// <para>Supports linking with CLR resources (both linked and embedded).</para>
  122.         /// </devdoc>
  123.         Resources = 2097152,
  124.         /// <devdoc>
  125.         /// <para>Supports partial classes.</para>
  126.         /// </devdoc>
  127.         PartialTypes = 4194304,
  128.         GenericTypeReference = 8388608,
  129.         GenericTypeDeclaration = 16777216,
  130.         DeclareIndexerProperties = 33554432
  131.     }
  132. }

Developer Fusion