/// <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()); } }); }
/// <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)); } }); }
/// <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>()); }