﻿using System;

namespace BenchmarkDotNet.Diagnostics
{
    [Obsolete("The \"GCDiagnoser\" has been renamed, please use the \"MemoryDiagnoser\" instead (it has the same functionality)", true)]
    public class GCDiagnoser
    {
    }
}

﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using BenchmarkDotNet.Diagnosers;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Loggers;
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Running;

namespace BenchmarkDotNet.Diagnostics.Windows
{
    [Obsolete(message)]
    public class GCDiagnoser : IDiagnoser, IColumnProvider
    {
        const string message = "The \"GCDiagnoser\" has been renamed, please us the \"MemoryDiagnoser\" instead (it has the same functionality)";

        public IEnumerable<IColumn> GetColumns
        {
            get { throw new InvalidOperationException(message); }
        }

        public void AfterBenchmarkHasRun(Benchmark benchmark, Process process)
        {
            throw new InvalidOperationException(message);
        }

        public void DisplayResults(ILogger logger)
        {
            throw new InvalidOperationException(message);
        }

        public void ProcessStarted(Process process)
        {
            throw new InvalidOperationException(message);
        }

        public void ProcessStopped(Process process)
        {
            throw new InvalidOperationException(message);
        }

        public void Start(Benchmark benchmark)
        {
            throw new InvalidOperationException(message);
        }

        public void Stop(Benchmark benchmark, BenchmarkReport report)
        {
            throw new InvalidOperationException(message);
        }
    }
}

Revert "give compilation error instead of warning or exception at runtime"
Revert "give compilation error instead of warning or exception at runtime"

This reverts commit 4e96e65cc3405f0f9cae2c649f9ef14472c3b557.
