| //===--- TypeCheckRequestKinds.def - Type Check Request Kinds ---*- C++ -*-===// |
| // |
| // This source file is part of the Swift.org open source project |
| // |
| // Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors |
| // Licensed under Apache License v2.0 with Runtime Library Exception |
| // |
| // See https://swift.org/LICENSE.txt for license information |
| // See https://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 |