//===-- llvm/Java/types.def - File that describes Java primitives -*- C++ -*-=//
// 
//                     The LLVM Compiler Infrastructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
// 
//===----------------------------------------------------------------------===//
//
// This file contains descriptions of the various Java primitive types. This
// is used as a central place for enumerating the different primitive types.
//
//===----------------------------------------------------------------------===//

// NOTE: NO INCLUDE GUARD DESIRED!

// Provide definitions of macros so that users of this file do not have to
// define everything to use it...

#ifdef HANDLE_NATIVE_TYPE
HANDLE_NATIVE_TYPE(boolean)
HANDLE_NATIVE_TYPE(byte)
HANDLE_NATIVE_TYPE(char)
HANDLE_NATIVE_TYPE(short)
HANDLE_NATIVE_TYPE(int)
HANDLE_NATIVE_TYPE(long)
HANDLE_NATIVE_TYPE(float)
HANDLE_NATIVE_TYPE(double)

#undef HANDLE_NATIVE_TYPE
#endif

#ifdef HANDLE_TYPE
HANDLE_TYPE(object)
HANDLE_TYPE(boolean)
HANDLE_TYPE(byte)
HANDLE_TYPE(char)
HANDLE_TYPE(short)
HANDLE_TYPE(int)
HANDLE_TYPE(long)
HANDLE_TYPE(float)
HANDLE_TYPE(double)

#undef HANDLE_TYPE
#endif
