added -J option to preserve unmodified files in preexisting jarfile
[org.ibex.tool.git] / src / org / eclipse / jdt / internal / compiler / lookup / TypeIds.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2004 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package org.eclipse.jdt.internal.compiler.lookup;
12
13 public interface TypeIds {
14
15     //base type void null undefined Object String
16         //should have an id that is 0<= id <= 15
17     // The IDs below must be representable using 4 bits so as to fit in operator signatures.
18         final int T_undefined = 0; // should not be changed
19         final int T_JavaLangObject = 1;
20         final int T_char = 2;
21         final int T_byte = 3;
22         final int T_short = 4;
23         final int T_boolean = 5;
24         final int T_void = 6;
25         final int T_long = 7;
26         final int T_double = 8;
27         final int T_float = 9;
28         final int T_int = 10;
29         final int T_JavaLangString = 11;
30         final int T_null = 12;
31
32         //=========end of 4 bits constraint===========
33
34         // well-known exception types
35         final int T_JavaLangClass = 16;
36         final int T_JavaLangStringBuffer = 17;
37         final int T_JavaLangSystem = 18;
38         final int T_JavaLangError = 19;
39         final int T_JavaLangReflectConstructor = 20;
40         final int T_JavaLangThrowable = 21;
41         final int T_JavaLangNoClassDefError = 22;
42         final int T_JavaLangClassNotFoundException = 23;
43         final int T_JavaIoPrintStream = 24;
44         final int T_JavaLangException = 25;
45
46         // wrapper types
47         final int T_JavaLangByte = 26;
48         final int T_JavaLangShort = 27;
49         final int T_JavaLangCharacter = 28;
50         final int T_JavaLangInteger = 29;
51         final int T_JavaLangLong = 30;
52         final int T_JavaLangFloat = 31;
53         final int T_JavaLangDouble = 32;
54         final int T_JavaLangBoolean = 33;
55         final int T_JavaLangVoid = 34;
56
57         // 1.4 features
58         final int T_JavaLangAssertionError = 35;
59         
60         // array interfaces
61         final int T_JavaLangCloneable = 36;
62         final int T_JavaIoSerializable = 37;
63             
64         // 1.5 features
65         final int T_JavaLangIterable = 38;
66         final int T_JavaUtilIterator = 39;
67         final int T_JavaLangStringBuilder = 40;
68         final int T_JavaLangEnum = 41;
69         final int T_JavaLangIllegalArgumentException = 42;
70         final int T_JavaLangAnnotationAnnotation = 43;
71         final int T_JavaLangDeprecated = 44;
72         final int T_JavaLangAnnotationDocumented = 45;
73         final int T_JavaLangAnnotationInherited = 46;
74         final int T_JavaLangOverride = 47;
75         final int T_JavaLangAnnotationRetention = 48;
76         final int T_JavaLangSuppressWarnings = 49;
77         final int T_JavaLangAnnotationTarget = 50;
78         final int T_JavaLangAnnotationRetentionPolicy = 51;
79         final int T_JavaLangAnnotationElementType = 52;
80         
81         final int NoId = Integer.MAX_VALUE;
82
83         public static final int IMPLICIT_CONVERSION_MASK = 0xFF;
84         public static final int COMPILE_TYPE_MASK = 0xF;
85
86         // implicit conversions: <compileType> to <runtimeType>  (note: booleans are integers at runtime)
87         final int Boolean2Int = T_boolean + (T_int << 4);
88         final int Boolean2String = T_boolean + (T_JavaLangString << 4);
89         final int Boolean2Boolean = T_boolean + (T_boolean << 4);
90         final int Byte2Byte = T_byte + (T_byte << 4);
91         final int Byte2Short = T_byte + (T_short << 4);
92         final int Byte2Char = T_byte + (T_char << 4);
93         final int Byte2Int = T_byte + (T_int << 4);
94         final int Byte2Long = T_byte + (T_long << 4);
95         final int Byte2Float = T_byte + (T_float << 4);
96         final int Byte2Double = T_byte + (T_double << 4);
97         final int Byte2String = T_byte + (T_JavaLangString << 4);
98         final int Short2Byte = T_short + (T_byte << 4);
99         final int Short2Short = T_short + (T_short << 4);
100         final int Short2Char = T_short + (T_char << 4);
101         final int Short2Int = T_short + (T_int << 4);
102         final int Short2Long = T_short + (T_long << 4);
103         final int Short2Float = T_short + (T_float << 4);
104         final int Short2Double = T_short + (T_double << 4);
105         final int Short2String = T_short + (T_JavaLangString << 4);
106         final int Char2Byte = T_char + (T_byte << 4);
107         final int Char2Short = T_char + (T_short << 4);
108         final int Char2Char = T_char + (T_char << 4);
109         final int Char2Int = T_char + (T_int << 4);
110         final int Char2Long = T_char + (T_long << 4);
111         final int Char2Float = T_char + (T_float << 4);
112         final int Char2Double = T_char + (T_double << 4);
113         final int Char2String = T_char + (T_JavaLangString << 4);
114         final int Int2Byte = T_int + (T_byte << 4);
115         final int Int2Short = T_int + (T_short << 4);
116         final int Int2Char = T_int + (T_char << 4);
117         final int Int2Int = T_int + (T_int << 4);
118         final int Int2Long = T_int + (T_long << 4);
119         final int Int2Float = T_int + (T_float << 4);
120         final int Int2Double = T_int + (T_double << 4);
121         final int Int2String = T_int + (T_JavaLangString << 4);
122         final int Long2Byte = T_long + (T_byte << 4);
123         final int Long2Short = T_long + (T_short << 4);
124         final int Long2Char = T_long + (T_char << 4);
125         final int Long2Int = T_long + (T_int << 4);
126         final int Long2Long = T_long + (T_long << 4);
127         final int Long2Float = T_long + (T_float << 4);
128         final int Long2Double = T_long + (T_double << 4);
129         final int Long2String = T_long + (T_JavaLangString << 4);
130         final int Float2Byte = T_float + (T_byte << 4);
131         final int Float2Short = T_float + (T_short << 4);
132         final int Float2Char = T_float + (T_char << 4);
133         final int Float2Int = T_float + (T_int << 4);
134         final int Float2Long = T_float + (T_long << 4);
135         final int Float2Float = T_float + (T_float << 4);
136         final int Float2Double = T_float + (T_double << 4);
137         final int Float2String = T_float + (T_JavaLangString << 4);
138         final int Double2Byte = T_double + (T_byte << 4);
139         final int Double2Short = T_double + (T_short << 4);
140         final int Double2Char = T_double + (T_char << 4);
141         final int Double2Int = T_double + (T_int << 4);
142         final int Double2Long = T_double + (T_long << 4);
143         final int Double2Float = T_double + (T_float << 4);
144         final int Double2Double = T_double + (T_double << 4);
145         final int Double2String = T_double + (T_JavaLangString << 4);
146         final int String2String = T_JavaLangString + (T_JavaLangString << 4);
147         final int Object2String = T_JavaLangObject + (T_JavaLangString << 4);
148         final int Null2String = T_null + (T_JavaLangString << 4);
149         final int Object2Object = T_JavaLangObject + (T_JavaLangObject << 4);
150         final int BOXING = 0x200;
151         final int UNBOXING = 0x400;
152 }