Files
swift-mirror/include/swift/Strings.h
David Farler 303a3e5824 Start the Migrator library
The Swift 4 Migrator is invoked through either the driver and frontend
with the -update-code flag.

The basic pipeline in the frontend is:

- Perform some list of syntactic fixes (there are currently none).
- Perform N rounds of sema fix-its on the primary input file, currently
  set to 7 based on prior migrator seasons.  Right now, this is just set
  to take any fix-it suggested by the compiler.
- Emit a replacement map file, a JSON file describing replacements to a
  file that Xcode knows how to understand.

Currently, the Migrator maintains a history of migration states along
the way for debugging purposes.

- Add -emit-remap frontend option
  This will indicate the EmitRemap frontend action.
- Don't fork to a separte swift-update binary.
  This is going to be a mode of the compiler, invoked by the same flags.
- Add -disable-migrator-fixits option
  Useful for debugging, this skips the phase in the Migrator that
  automatically applies fix-its suggested by the compiler.
- Add -emit-migrated-file-path option
  This is used for testing/debugging scenarios. This takes the final
  migration state's output text and writes it to the file specified
  by this option.
- Add -dump-migration-states-dir

  This dumps all of the migration states encountered during a migration
  run for a file to the given directory. For example, the compiler
  fix-it migration pass dumps the input file, the output file, and the
  remap file between the two.

  State output has the following naming convention:
  ${Index}-${MigrationPassName}-${What}.${extension}, such as:
  1-FixitMigrationState-Input.swift

rdar://problem/30926261
2017-04-17 16:25:02 -07:00

48 lines
2.1 KiB
C++

//===--- Strings.h - Shared string constants across components --*- 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
//
//===----------------------------------------------------------------------===//
#ifndef SWIFT_STRINGS_H
#define SWIFT_STRINGS_H
namespace swift {
/// The extension for serialized modules.
static const char SERIALIZED_MODULE_EXTENSION[] = "swiftmodule";
/// The extension for serialized documentation comments.
static const char SERIALIZED_MODULE_DOC_EXTENSION[] = "swiftdoc";
/// The extension for PCH files.
static const char PCH_EXTENSION[] = "pch";
/// The extension for replacement map files.
static const char REMAP_EXTENSION[] = "remap";
/// The extension for SIL files.
static const char SIL_EXTENSION[] = "sil";
/// The extension for SIB files.
static const char SIB_EXTENSION[] = "sib";
/// The extension for LLVM IR files.
static const char LLVM_BC_EXTENSION[] = "bc";
static const char LLVM_IR_EXTENSION[] = "ll";
/// The name of the standard library, which is a reserved module name.
static const char STDLIB_NAME[] = "Swift";
/// The name of the Onone support library, which is a reserved module name.
static const char SWIFT_ONONE_SUPPORT[] = "SwiftOnoneSupport";
/// The name of the SwiftShims module, which contains private stdlib decls.
static const char SWIFT_SHIMS_NAME[] = "SwiftShims";
/// The prefix of module names used by LLDB to capture Swift expressions
static const char LLDB_EXPRESSIONS_MODULE_NAME_PREFIX[] = "__lldb_expr_";
/// The name of the fake module used to hold imported Objective-C things.
static const char MANGLING_MODULE_OBJC[] = "__ObjC";
/// The name of the fake module used to hold imported C things.
static const char MANGLING_MODULE_C[] = "__C";
} // end namespace swift
#endif // SWIFT_STRINGS_H