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);