/*
 * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 *
 */

package sun.jvm.hotspot.runtime;

Encapsulates the BasicType enum in globalDefinitions.hpp in the VM.
/** Encapsulates the BasicType enum in globalDefinitions.hpp in the VM. */
public class BasicType { public static final int tBoolean = 4; public static final int tChar = 5; public static final int tFloat = 6; public static final int tDouble = 7; public static final int tByte = 8; public static final int tShort = 9; public static final int tInt = 10; public static final int tLong = 11; public static final int tObject = 12; public static final int tArray = 13; public static final int tVoid = 14; public static final int tAddress = 15; public static final int tConflict = 16; public static final int tIllegal = 99; public static final BasicType T_BOOLEAN = new BasicType(tBoolean); public static final BasicType T_CHAR = new BasicType(tChar); public static final BasicType T_FLOAT = new BasicType(tFloat); public static final BasicType T_DOUBLE = new BasicType(tDouble); public static final BasicType T_BYTE = new BasicType(tByte); public static final BasicType T_SHORT = new BasicType(tShort); public static final BasicType T_INT = new BasicType(tInt); public static final BasicType T_LONG = new BasicType(tLong); public static final BasicType T_OBJECT = new BasicType(tObject); public static final BasicType T_ARRAY = new BasicType(tArray); public static final BasicType T_VOID = new BasicType(tVoid); public static final BasicType T_ADDRESS = new BasicType(tAddress); public static final BasicType T_CONFLICT = new BasicType(tConflict); public static final BasicType T_ILLEGAL = new BasicType(tIllegal); public static int getTBoolean() { return tBoolean; } public static int getTChar() { return tChar; } public static int getTFloat() { return tFloat; } public static int getTDouble() { return tDouble; } public static int getTByte() { return tByte; } public static int getTShort() { return tShort; } public static int getTInt() { return tInt; } public static int getTLong() { return tLong; } public static int getTObject() { return tObject; } public static int getTArray() { return tArray; } public static int getTVoid() { return tVoid; } public static int getTAddress() { return tAddress; }
For stack value type with conflicting contents
/** For stack value type with conflicting contents */
public static int getTConflict() { return tConflict; } public static int getTIllegal() { return tIllegal; } public static BasicType charToBasicType(char c) { switch( c ) { case 'B': return T_BYTE; case 'C': return T_CHAR; case 'D': return T_DOUBLE; case 'F': return T_FLOAT; case 'I': return T_INT; case 'J': return T_LONG; case 'S': return T_SHORT; case 'Z': return T_BOOLEAN; case 'V': return T_VOID; case 'L': return T_OBJECT; case '[': return T_ARRAY; } return T_ILLEGAL; } public static int charToType(char c) { return charToBasicType(c).getType(); } public int getType() { return type; } //-- Internals only below this point private BasicType(int type) { this.type = type; } private int type; }