| //===--- Types.def - Driver Type info ---------------------------*- 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 driver type information. Users of this file |
| // must define the TYPE macro to make use of this information. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef TYPE |
| #error "Define TYPE prior to including this file!" |
| #endif |
| |
| // TYPE(NAME, ID, SUFFIX, FLAGS) |
| |
| // The first value is the type name as a string; this should be something which |
| // could be displayed to the user, or something which the user could provide. |
| |
| // The second value is the type id, which will result in a |
| // swift::driver::file_types::TY_XX enum constant. |
| |
| // The third value is the extension to use when creating temporary files |
| // of this type. It is also used when inferring a type from an extension. |
| // If multiple types specify the same extension, the first one is chosen when |
| // performing type inference. |
| |
| // The fourth value is a string containing option flags. For now, this is |
| // unused, and should always be the empty string. |
| |
| // Input types |
| TYPE("swift", Swift, "swift", "") |
| TYPE("sil", SIL, "sil", "") |
| TYPE("sib", SIB, "sib", "") |
| |
| // Output types |
| TYPE("ast-dump", ASTDump, "ast", "") |
| TYPE("image", Image, "out", "") |
| TYPE("object", Object, "o", "") |
| TYPE("dSYM", dSYM, "dSYM", "") |
| TYPE("dependencies", Dependencies, "d", "") |
| TYPE("autolink", AutolinkFile, "autolink", "") |
| TYPE("swiftmodule", SwiftModuleFile, "swiftmodule", "") |
| TYPE("swiftdoc", SwiftModuleDocFile, "swiftdoc", "") |
| TYPE("swiftinterface", SwiftParseableInterfaceFile, \ |
| "swiftinterface", "") |
| TYPE("assembly", Assembly, "s", "") |
| TYPE("raw-sil", RawSIL, "sil", "") |
| TYPE("raw-sib", RawSIB, "sib", "") |
| TYPE("llvm-ir", LLVM_IR, "ll", "") |
| TYPE("llvm-bc", LLVM_BC, "bc", "") |
| TYPE("diagnostics", SerializedDiagnostics, "dia", "") |
| TYPE("objc-header", ObjCHeader, "h", "") |
| TYPE("swift-dependencies", SwiftDeps, "swiftdeps", "") |
| TYPE("remap", Remapping, "remap", "") |
| TYPE("imported-modules", ImportedModules, "importedmodules", "") |
| TYPE("tbd", TBD, "tbd", "") |
| TYPE("module-trace", ModuleTrace, "trace.json", "") |
| TYPE("index-data", IndexData, "", "") |
| TYPE("opt-record", OptRecord, "opt.yaml", "") |
| |
| // Misc types |
| TYPE("pcm", ClangModuleFile, "pcm", "") |
| TYPE("pch", PCH, "pch", "") |
| TYPE("none", Nothing, "", "") |
| |
| #undef TYPE |