namespace Microsoft.AspNetCore.Mvc.Api.Analyzers { public interface ITestController { } public abstract class AbstractController : Controller { } public class DerivedAbstractController : AbstractController { } public struct ValueTypeController { } public class OpenGenericController : Controller { } public class PocoType { } public class DerivedPocoType : PocoType { } public class TypeDerivingFromController : Controller { } public class TypeDerivingFromControllerBase : ControllerBase { } public abstract class NoControllerAttributeBaseController { } public class NoSuffixNoControllerAttribute : NoControllerAttributeBaseController { } public class DerivedGenericController : OpenGenericController { } public class NoSuffix : Controller { } public class PocoController { } [Controller] public class CustomBase { } [Controller] public class ChildOfCustomBase : CustomBase { } [NonController] public class BaseNonController { } [Controller] public class ControllerAttributeDerivingFromNonController : BaseNonController { } public class BasePocoNonControllerChildController : BaseNonController { } }