blob: e64b81b3bf353f92d987bcb5cd38e16ad393542b [file] [log] [blame]
//===--- 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