< prev index next >
test/testlibrary/jittester/src/jdk/test/lib/jittester/TypeList.java
Print this page
@@ -25,52 +25,64 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.Predicate;
-import jdk.test.lib.jittester.types.TypeArray;
+
import jdk.test.lib.jittester.types.TypeBoolean;
import jdk.test.lib.jittester.types.TypeByte;
import jdk.test.lib.jittester.types.TypeChar;
import jdk.test.lib.jittester.types.TypeDouble;
import jdk.test.lib.jittester.types.TypeFloat;
import jdk.test.lib.jittester.types.TypeInt;
+import jdk.test.lib.jittester.types.TypeKlass;
import jdk.test.lib.jittester.types.TypeLong;
import jdk.test.lib.jittester.types.TypeShort;
import jdk.test.lib.jittester.types.TypeVoid;
public class TypeList {
- private static final TypeVoid TYPE_VOID = new TypeVoid();
+ public static final TypeVoid VOID = new TypeVoid();
+ public static final TypeBoolean BOOLEAN = new TypeBoolean();
+ public static final TypeByte BYTE = new TypeByte();
+ public static final TypeChar CHAR = new TypeChar();
+ public static final TypeShort SHORT = new TypeShort();
+ public static final TypeInt INT = new TypeInt();
+ public static final TypeLong LONG = new TypeLong();
+ public static final TypeFloat FLOAT = new TypeFloat();
+ public static final TypeDouble DOUBLE = new TypeDouble();
+ public static final TypeKlass OBJECT = new TypeKlass("java.lang.Object");
+ public static final TypeKlass STRING = new TypeKlass("java.lang.String", TypeKlass.FINAL);
+
private static final List<Type> TYPES = new ArrayList<>();
private static final List<Type> BUILTIN_TYPES = new ArrayList<>();
private static final List<Type> BUILTIN_INT_TYPES = new ArrayList<>();
private static final List<Type> BUILTIN_FP_TYPES = new ArrayList<>();
private static final List<Type> REFERENCE_TYPES = new ArrayList<>();
static {
- BUILTIN_INT_TYPES.add(new TypeBoolean());
- BUILTIN_INT_TYPES.add(new TypeByte());
- BUILTIN_INT_TYPES.add(new TypeChar());
- BUILTIN_INT_TYPES.add(new TypeShort());
- BUILTIN_INT_TYPES.add(new TypeInt());
- BUILTIN_INT_TYPES.add(new TypeLong());
- BUILTIN_FP_TYPES.add(new TypeFloat());
- BUILTIN_FP_TYPES.add(new TypeDouble());
+ BUILTIN_INT_TYPES.add(BOOLEAN);
+ BUILTIN_INT_TYPES.add(BYTE);
+ BUILTIN_INT_TYPES.add(CHAR);
+ BUILTIN_INT_TYPES.add(SHORT);
+ BUILTIN_INT_TYPES.add(INT);
+ BUILTIN_INT_TYPES.add(LONG);
+ BUILTIN_FP_TYPES.add(FLOAT);
+ BUILTIN_FP_TYPES.add(DOUBLE);
BUILTIN_TYPES.addAll(BUILTIN_INT_TYPES);
BUILTIN_TYPES.addAll(BUILTIN_FP_TYPES);
TYPES.addAll(BUILTIN_TYPES);
if (!ProductionParams.disableArrays.value()) {
- REFERENCE_TYPES.add(new TypeArray().produce());
TYPES.addAll(REFERENCE_TYPES);
}
- }
- public static TypeVoid getVoid() {
- return TYPE_VOID;
+ STRING.addParent(OBJECT.getName());
+ STRING.setParent(OBJECT);
+ add(STRING);
+ add(OBJECT);
}
public static Collection<Type> getAll() {
return TYPES;
}
@@ -98,18 +110,18 @@
public static boolean isBuiltInInt(Type t) {
return BUILTIN_INT_TYPES.contains(t);
}
public static boolean isBuiltIn(Type t) {
- return isBuiltInInt(t) || isBuiltInFP(t);
+ return isBuiltInInt(t) || isBuiltInFP(t) || t.equals(VOID);
}
protected static boolean isIn(Type t) {
return TYPES.contains(t);
}
- protected static boolean isReferenceType(Type t) {
+ public static boolean isReferenceType(Type t) {
return REFERENCE_TYPES.contains(t);
}
public static Type find(Type t) {
int i = TYPES.indexOf(t);
< prev index next >