change Type.h to forward declare ArrayRef instead of #including it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133197 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2011-06-16 21:37:15 +00:00
parent e817127e0a
commit 1d0a815ee4
2 changed files with 14 additions and 10 deletions

View File

@ -19,7 +19,6 @@
#define LLVM_DERIVED_TYPES_H
#include "llvm/Type.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/DataTypes.h"
namespace llvm {
@ -34,6 +33,7 @@ class VectorValType;
class IntegerValType;
class APInt;
class LLVMContext;
template<typename T> class ArrayRef;
class DerivedType : public Type {
friend class Type;
@ -158,10 +158,8 @@ public:
/// FunctionType::get - Create a FunctionType taking no parameters.
///
static FunctionType *get(const Type *Result, bool isVarArg) {
return get(Result, ArrayRef<const Type *>(), isVarArg);
}
static FunctionType *get(const Type *Result, bool isVarArg);
/// isValidReturnType - Return true if the specified type is valid as a return
/// type.
static bool isValidReturnType(const Type *RetTy);
@ -239,10 +237,8 @@ public:
/// StructType::get - Create an empty structure type.
///
static StructType *get(LLVMContext &Context, bool isPacked=false) {
return get(Context, llvm::ArrayRef<const Type*>(), isPacked);
}
static StructType *get(LLVMContext &Context, bool isPacked=false);
/// StructType::get - This static method is a convenience method for
/// creating structure types by specifying the elements as arguments.
/// Note that this method always returns a non-packed struct. To get

View File

@ -832,6 +832,9 @@ FunctionValType FunctionValType::get(const FunctionType *FT) {
return FunctionValType(FT->getReturnType(), ParamTypes, FT->isVarArg());
}
FunctionType *FunctionType::get(const Type *Result, bool isVarArg) {
return get(Result, ArrayRef<const Type *>(), isVarArg);
}
// FunctionType::get - The factory function for the FunctionType class...
FunctionType *FunctionType::get(const Type *ReturnType,
@ -908,9 +911,14 @@ bool VectorType::isValidElementType(const Type *ElemTy) {
}
//===----------------------------------------------------------------------===//
// Struct Type Factory...
// Struct Type Factory.
//
StructType *StructType::get(LLVMContext &Context, bool isPacked) {
return get(Context, llvm::ArrayRef<const Type*>(), isPacked);
}
StructType *StructType::get(LLVMContext &Context,
ArrayRef<const Type*> ETypes,
bool isPacked) {