Files
swift-mirror/lib/SIL/Parser/SILParserFunctionBuilder.h
zoecarver 6f339f800d [SIL] [Parser] Move ParserSIL into SIL library.
Move the source files from ParserSIL into the SIL library and remove the
ParserSIL library. ParsersSIL doesn't need to be its own library and this change will
simplify our builds.
2020-04-13 17:23:08 -07:00

40 lines
1.3 KiB
C++

//===--- SILParserFunctionBuilder.h ---------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2018 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_PARSESIL_SILPARSERFUNCTIONBUILDER_H
#define SWIFT_PARSESIL_SILPARSERFUNCTIONBUILDER_H
#include "swift/SIL/SILFunctionBuilder.h"
namespace swift {
class LLVM_LIBRARY_VISIBILITY SILParserFunctionBuilder {
SILFunctionBuilder builder;
public:
SILParserFunctionBuilder(SILModule &mod) : builder(mod) {}
SILFunction *createFunctionForForwardReference(StringRef name,
CanSILFunctionType ty,
SILLocation loc) {
auto *result = builder.createFunction(
SILLinkage::Private, name, ty, nullptr, loc, IsNotBare,
IsNotTransparent, IsNotSerialized, IsNotDynamic);
result->setDebugScope(new (builder.mod) SILDebugScope(loc, result));
return result;
}
};
} // namespace swift
#endif