blob: e53dd14d93bebed73bcd484794b5abef8ef301b8 [file] [log] [blame]
//===--- SerializationOptions.h - Control swiftmodule emission --*- 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_SERIALIZATION_SERIALIZATIONOPTIONS_H
#define SWIFT_SERIALIZATION_SERIALIZATIONOPTIONS_H
#include "swift/Basic/LLVM.h"
namespace swift {
class SerializationOptions {
SerializationOptions(const SerializationOptions &) = delete;
void operator=(const SerializationOptions &) = delete;
public:
SerializationOptions() = default;
SerializationOptions(SerializationOptions &&) = default;
SerializationOptions &operator=(SerializationOptions &&) = default;
~SerializationOptions() = default;
const char *OutputPath = nullptr;
const char *DocOutputPath = nullptr;
StringRef GroupInfoPath;
StringRef ImportedHeader;
StringRef ModuleLinkName;
ArrayRef<std::string> ExtraClangOptions;
bool AutolinkForceLoad = false;
bool EnableNestedTypeLookupTable = false;
bool SerializeAllSIL = false;
bool SerializeOptionsForDebugging = false;
bool IsSIB = false;
};
} // end namespace swift
#endif