//===--- DiagnosticsCommon.h - Shared Diagnostic Definitions ----*- 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 // //===----------------------------------------------------------------------===// // /// \file /// \brief This file defines common diagnostics for the whole compiler, as well /// as some diagnostic infrastructure. // //===----------------------------------------------------------------------===// #ifndef SWIFT_DIAGNOSTICSCOMMON_H #define SWIFT_DIAGNOSTICSCOMMON_H #include "swift/AST/DiagnosticEngine.h" #include "swift/Basic/LLVM.h" #include "swift/Config.h" namespace swift { template struct Diag; namespace detail { template struct DiagWithArguments; template struct DiagWithArguments { typedef Diag type; }; } enum class StaticSpellingKind : uint8_t; namespace diag { enum class RequirementKind : uint8_t; using DeclAttribute = const DeclAttribute *; // Declare common diagnostics objects with their appropriate types. #define DIAG(KIND,ID,Options,Text,Signature) \ extern detail::DiagWithArguments::type ID; #include "DiagnosticsCommon.def" } } #endif