Ejemplo n.º 1
0
 /// <summary>
 /// Enqueues initializers of a class fields and constants.
 /// </summary>
 void EnqueueFieldsInitializer(SourceTypeSymbol type)
 {
     type.GetDeclaredMembers().OfType <SourceFieldSymbol>().ForEach(f =>
     {
         if (f.Initializer != null)
         {
             EnqueueExpression(
                 f.Initializer,
                 f.EnsureTypeRefContext());
         }
     });
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Enqueues initializers of a class fields and constants.
 /// </summary>
 void EnqueueFieldsInitializer(SourceTypeSymbol type)
 {
     type.GetDeclaredMembers().OfType <SourceFieldSymbol>().Foreach(f =>
     {
         if (f.Initializer != null)
         {
             EnqueueExpression(
                 f.Initializer,
                 TypeRefFactory.CreateTypeRefContext(type), //the context will be lost, analysis resolves constant values only and types are temporary
                 NameUtils.GetNamingContext(type.Syntax));
         }
     });
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Enqueues initializers of a class fields and constants, and type custom attributes.
        /// </summary>
        void EnqueueType(SourceTypeSymbol type)
        {
            type.GetDeclaredMembers().OfType <SourceFieldSymbol>().ForEach(f =>
            {
                if (f.Initializer != null)
                {
                    EnqueueExpression(
                        f.Initializer,
                        f.EnsureTypeRefContext());
                }

                EnqueueAttributes(f.SourceAttributes);
            });

            EnqueueAttributes(type.SourceAttributes.OfType <SourceCustomAttribute>());
        }