//===--- TypeCheckRequestKinds.def - Type Check Request Kinds ---*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// This file defines the kinds of TypeCheckRequests that can occur. It
// designed to be included multiple times with different definitions of
// the TYPE_CHECK_REQUEST(Request,Payload) macro, whose parameters
// are:
//
//   Request: The request kind.
//   Payload: The payload type.
//
//===----------------------------------------------------------------------===//

#if !defined(TYPE_CHECK_REQUEST)
#  error define TYPE_CHECK_REQUEST before including this file
#endif

/// Ensure that we can perform qualified name lookup into the given
/// declaration context for the given name.
TYPE_CHECK_REQUEST(QualifiedLookupInDeclContext, DeclContextLookup)

/// Ensure that we can perform unqualified name lookup into the given
/// declaration context for the given name.
TYPE_CHECK_REQUEST(UnqualifiedLookupInDeclContext, DeclContextLookup)

/// Perform type checking on an entry in the inherited clause of a
/// type or extension.
TYPE_CHECK_REQUEST(ResolveInheritedClauseEntry, InheritedClauseEntry)

/// Perform type checking on the superclass of a particular class.
TYPE_CHECK_REQUEST(TypeCheckSuperclass, Class)

/// Perform type checking on the raw type of a particular enum.
TYPE_CHECK_REQUEST(TypeCheckRawType, Enum)

/// Compute the set of inherited protocols for a given protocol.
TYPE_CHECK_REQUEST(InheritedProtocols, Protocol)

/// Partially resolve a type, forming enough of its structure to make
/// structural queries but not determining correctness.
TYPE_CHECK_REQUEST(ResolveTypeRepr, TypeResolution)

/// Resolve the given type declaration to the requested type
/// resolution stage.
TYPE_CHECK_REQUEST(ResolveTypeDecl, TypeDeclResolution)

#undef TYPE_CHECK_REQUEST
