// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. namespace CommunityToolkit.Mvvm.SourceGenerators.ComponentModel.Models; /// /// A model with gathered info on a given ObservableRecipientAttribute instance. /// /// The type name of the type being annotated. /// Whether or not the target type has explicit constructors. /// Whether or not the target type is abstract. /// Whether or not the target type inherits from ObservableValidator. /// Whether or not the RequiresUnreferencedCodeAttribute type is available. /// Whether the target type has a custom OnActivated() method. /// Whether the target type has a custom OnDeactivated() method. public sealed record ObservableRecipientInfo( string TypeName, bool HasExplicitConstructors, bool IsAbstract, bool IsObservableValidator, bool IsRequiresUnreferencedCodeAttributeAvailable, bool HasOnActivatedMethod, bool HasOnDeactivatedMethod);