private void VerifyDestructor(DestructorDeclarationSyntax destructorSyntax) { if (!destructorSyntax.HasBodyOrExpressionBody()) { return; } if (!HasStatementsCount(destructorSyntax, 1) || !CallsVirtualDispose(destructorSyntax, argumentValue: "false")) { AddSecondaryLocation(destructorSyntax.Identifier.GetLocation(), $"Modify '{typeSymbol.Name}.~{typeSymbol.Name}()' so that it calls 'Dispose(false)' and " + "then returns."); } }