mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
I also changed all of the places that vended these to use SILNodes.def as well so that when new argument kinds are added, things just work.
39 lines
1.3 KiB
C++
39 lines
1.3 KiB
C++
//===--- SILArgumentArrayRef.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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
///
|
|
/// A header file to ensure that we do not create a dependency cycle in between
|
|
/// SILBasicBlock.h and SILInstruction.h.
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef SWIFT_SIL_SILARGUMENTARRAYREF_H
|
|
#define SWIFT_SIL_SILARGUMENTARRAYREF_H
|
|
|
|
#include "swift/Basic/LLVM.h"
|
|
#include "swift/Basic/STLExtras.h"
|
|
|
|
namespace swift {
|
|
|
|
class SILArgument;
|
|
|
|
#define ARGUMENT(NAME, PARENT) \
|
|
class NAME; \
|
|
using NAME##ArrayRef = \
|
|
TransformRange<ArrayRef<SILArgument *>, NAME *(*)(SILArgument *)>;
|
|
#include "swift/SIL/SILNodes.def"
|
|
|
|
} // namespace swift
|
|
|
|
#endif
|