public abstract class PartialTypeFilterBase()

in src/Refasmer/Filters/PartialTypeFilterBase.cs [8:23]


public abstract class PartialTypeFilterBase(bool omitNonApiMembers) : IImportFilter
{
    public bool OmitNonApiMembers => omitNonApiMembers;
    
    protected readonly CachedAttributeChecker AttributeCache = new();
    
    public virtual bool AllowImport(TypeDefinition type, MetadataReader reader)
    {
        if (type.Attributes.HasFlag(TypeAttributes.Public)) return true;
        var isCompilerGenerated = AttributeCache.HasAttribute(reader, type, FullNames.CompilerGenerated);
        return !isCompilerGenerated;
    }
    
    public abstract bool AllowImport(MethodDefinition method, MetadataReader reader);
    public abstract bool AllowImport(FieldDefinition field, MetadataReader reader);
}