01: /*
02: *
03: *
04: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
05: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
06: *
07: * This program is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License version
09: * 2 only, as published by the Free Software Foundation.
10: *
11: * This program is distributed in the hope that it will be useful, but
12: * WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * General Public License version 2 for more details (a copy is
15: * included at /legal/license.txt).
16: *
17: * You should have received a copy of the GNU General Public License
18: * version 2 along with this work; if not, write to the Free Software
19: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA
21: *
22: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
23: * Clara, CA 95054 or visit www.sun.com if you need additional
24: * information or have any questions.
25: */
26:
27: package vm;
28:
29: import jcc.Const;
30: import components.ClassInfo;
31:
32: public class EVMClassFactory implements VMClassFactory {
33:
34: public ClassClass newVMClass(ClassInfo c) {
35: return new EVMClass(c);
36: }
37:
38: private static boolean setType(String name, int value) {
39: ClassInfo ci = ClassInfo.lookupClass(name);
40: ClassClass cc;
41: if ((ci == null) || ((cc = ci.vmClass) == null)) {
42: return false;
43: }
44: ((EVMClass) cc).typeCode = value;
45: return true;
46:
47: }
48:
49: public void setTypes() {
50: setType("void", Const.T_VOID);
51: setType("boolean", Const.T_BOOLEAN);
52: setType("char", Const.T_CHAR);
53: setType("byte", Const.T_BYTE);
54: setType("short", Const.T_SHORT);
55: setType("int", Const.T_INT);
56: setType("long", Const.T_LONG);
57: setType("float", Const.T_FLOAT);
58: setType("double", Const.T_DOUBLE);
59: }
60: }
|