public override void Analyze(SymbolAnalysisContext context, PXContext pxContext, DacSemanticModel dac)
 {
     if (dac.Symbol.BaseType.Name == TypeNames.PXCacheExtension)
     {
         if (!dac.Symbol.IsSealed)
         {
             context.ReportDiagnosticWithSuppressionCheck(
                 Diagnostic.Create(Descriptors.PX1011_InheritanceFromPXCacheExtension, dac.Symbol.Locations.First()),
                 pxContext.CodeAnalysisSettings);
         }
     }
     else
     {
         context.ReportDiagnosticWithSuppressionCheck(
             Diagnostic.Create(Descriptors.PX1009_InheritanceFromPXCacheExtension, dac.Symbol.Locations.First()),
             pxContext.CodeAnalysisSettings);
     }
 }
 public override bool ShouldAnalyze(PXContext pxContext, DacSemanticModel dac) =>
 base.ShouldAnalyze(pxContext, dac) &&
 dac.DacType == DacType.DacExtension &&
 dac.Symbol.Name != TypeNames.PXCacheExtension && !dac.Symbol.InheritsFromOrEquals(pxContext.PXMappedCacheExtensionType);