/******************************************************************************* * Copyright (c) 2000, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.internal.compiler.lookup; public interface TypeIds { //base type void null undefined Object String //should have an id that is 0<= id <= 15 // The IDs below must be representable using 4 bits so as to fit in operator signatures. final int T_undefined= 0; // should not be changed final int T_JavaLangObject= 1; final int T_char= 2; final int T_byte= 3; final int T_short= 4; final int T_boolean= 5; final int T_void= 6; final int T_long= 7; final int T_double= 8; final int T_float= 9; final int T_int= 10; final int T_JavaLangString= 11; final int T_null= 12; //=========end of 4 bits constraint=========== // well-known exception types final int T_JavaLangClass= 16; final int T_JavaLangStringBuffer= 17; final int T_JavaLangSystem= 18; final int T_JavaLangError= 19; final int T_JavaLangReflectConstructor= 20; final int T_JavaLangThrowable= 21; final int T_JavaLangNoClassDefError= 22; final int T_JavaLangClassNotFoundException= 23; final int T_JavaLangRuntimeException= 24; final int T_JavaLangException= 25; // wrapper types final int T_JavaLangByte= 26; final int T_JavaLangShort= 27; final int T_JavaLangCharacter= 28; final int T_JavaLangInteger= 29; final int T_JavaLangLong= 30; final int T_JavaLangFloat= 31; final int T_JavaLangDouble= 32; final int T_JavaLangBoolean= 33; final int T_JavaLangVoid= 34; // 1.4 features final int T_JavaLangAssertionError= 35; // array interfaces final int T_JavaLangCloneable= 36; final int T_JavaIoSerializable= 37; // 1.5 features final int T_JavaLangIterable= 38; final int T_JavaUtilIterator= 39; final int T_JavaLangStringBuilder= 40; final int T_JavaLangEnum= 41; final int T_JavaLangIllegalArgumentException= 42; final int T_JavaLangAnnotationAnnotation= 43; final int T_JavaLangDeprecated= 44; final int T_JavaLangAnnotationDocumented= 45; final int T_JavaLangAnnotationInherited= 46; final int T_JavaLangOverride= 47; final int T_JavaLangAnnotationRetention= 48; final int T_JavaLangSuppressWarnings= 49; final int T_JavaLangAnnotationTarget= 50; final int T_JavaLangAnnotationRetentionPolicy= 51; final int T_JavaLangAnnotationElementType= 52; final int T_JavaIoPrintStream= 53; final int T_JavaLangReflectField= 54; final int T_JavaLangReflectMethod= 55; final int T_JavaIoExternalizable= 56; final int T_JavaIoObjectStreamException= 57; final int T_JavaIoException= 58; final int T_JavaUtilCollection= 59; final int NoId= Integer.MAX_VALUE; public static final int IMPLICIT_CONVERSION_MASK= 0xFF; public static final int COMPILE_TYPE_MASK= 0xF; // implicit conversions: <compileType> to <runtimeType> (note: booleans are integers at runtime) final int Boolean2Int= T_boolean + (T_int << 4); final int Boolean2String= T_boolean + (T_JavaLangString << 4); final int Boolean2Boolean= T_boolean + (T_boolean << 4); final int Byte2Byte= T_byte + (T_byte << 4); final int Byte2Short= T_byte + (T_short << 4); final int Byte2Char= T_byte + (T_char << 4); final int Byte2Int= T_byte + (T_int << 4); final int Byte2Long= T_byte + (T_long << 4); final int Byte2Float= T_byte + (T_float << 4); final int Byte2Double= T_byte + (T_double << 4); final int Byte2String= T_byte + (T_JavaLangString << 4); final int Short2Byte= T_short + (T_byte << 4); final int Short2Short= T_short + (T_short << 4); final int Short2Char= T_short + (T_char << 4); final int Short2Int= T_short + (T_int << 4); final int Short2Long= T_short + (T_long << 4); final int Short2Float= T_short + (T_float << 4); final int Short2Double= T_short + (T_double << 4); final int Short2String= T_short + (T_JavaLangString << 4); final int Char2Byte= T_char + (T_byte << 4); final int Char2Short= T_char + (T_short << 4); final int Char2Char= T_char + (T_char << 4); final int Char2Int= T_char + (T_int << 4); final int Char2Long= T_char + (T_long << 4); final int Char2Float= T_char + (T_float << 4); final int Char2Double= T_char + (T_double << 4); final int Char2String= T_char + (T_JavaLangString << 4); final int Int2Byte= T_int + (T_byte << 4); final int Int2Short= T_int + (T_short << 4); final int Int2Char= T_int + (T_char << 4); final int Int2Int= T_int + (T_int << 4); final int Int2Long= T_int + (T_long << 4); final int Int2Float= T_int + (T_float << 4); final int Int2Double= T_int + (T_double << 4); final int Int2String= T_int + (T_JavaLangString << 4); final int Long2Byte= T_long + (T_byte << 4); final int Long2Short= T_long + (T_short << 4); final int Long2Char= T_long + (T_char << 4); final int Long2Int= T_long + (T_int << 4); final int Long2Long= T_long + (T_long << 4); final int Long2Float= T_long + (T_float << 4); final int Long2Double= T_long + (T_double << 4); final int Long2String= T_long + (T_JavaLangString << 4); final int Float2Byte= T_float + (T_byte << 4); final int Float2Short= T_float + (T_short << 4); final int Float2Char= T_float + (T_char << 4); final int Float2Int= T_float + (T_int << 4); final int Float2Long= T_float + (T_long << 4); final int Float2Float= T_float + (T_float << 4); final int Float2Double= T_float + (T_double << 4); final int Float2String= T_float + (T_JavaLangString << 4); final int Double2Byte= T_double + (T_byte << 4); final int Double2Short= T_double + (T_short << 4); final int Double2Char= T_double + (T_char << 4); final int Double2Int= T_double + (T_int << 4); final int Double2Long= T_double + (T_long << 4); final int Double2Float= T_double + (T_float << 4); final int Double2Double= T_double + (T_double << 4); final int Double2String= T_double + (T_JavaLangString << 4); final int String2String= T_JavaLangString + (T_JavaLangString << 4); final int Object2String= T_JavaLangObject + (T_JavaLangString << 4); final int Null2Null= T_null + (T_null << 4); final int Null2String= T_null + (T_JavaLangString << 4); final int Object2Object= T_JavaLangObject + (T_JavaLangObject << 4); final int BOXING= 0x200; final int UNBOXING= 0x400; }