java.lang

Class Compiler


public final class Compiler
extends Object

The Compiler class is a placeholder for a JIT compiler implementation, and does nothing unless there is such a compiler.

The system property java.compiler may contain the name of a library to load with System.loadLibrary when the virtual machine first starts. If so, and loading the library succeeds, then a function by the name of java_lang_Compiler_start() in that library is called.

Note that a VM might not have implemented any of this.

Since:
JDK 1.0
See Also:
System.getProperty(String), System.getProperty(String,String), System.loadLibrary(String)

Method Summary

static Object
command(Object arg)
This method examines the argument and performs an operation according to the compilers documentation.
static boolean
compileClass(Class oneClass)
Compile the class named by oneClass.
static boolean
compileClasses(String classNames)
Compile the classes whose name matches classNames.
static void
disable()
Calling Compiler.disable() will cause the compiler to be suspended; provided that a compiler even exists.
static void
enable()
Calling Compiler.enable() will cause the compiler to resume operation if it was previously disabled; provided that a compiler even exists.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Method Details

command

public static Object command(Object arg)
This method examines the argument and performs an operation according to the compilers documentation. No specific operation is required.
Parameters:
arg - a compiler-specific argument
Returns:
a compiler-specific value, including null
Throws:
NullPointerException - if the compiler doesn't like a null arg

compileClass

public static boolean compileClass(Class oneClass)
Compile the class named by oneClass.
Parameters:
oneClass - the class to compile
Returns:
false if no compiler is available or compilation failed, true if compilation succeeded
Throws:
NullPointerException - if oneClass is null

compileClasses

public static boolean compileClasses(String classNames)
Compile the classes whose name matches classNames.
Parameters:
classNames - the name of classes to compile
Returns:
false if no compiler is available or compilation failed, true if compilation succeeded
Throws:
NullPointerException - if classNames is null

disable

public static void disable()
Calling Compiler.disable() will cause the compiler to be suspended; provided that a compiler even exists.

enable

public static void enable()
Calling Compiler.enable() will cause the compiler to resume operation if it was previously disabled; provided that a compiler even exists.

Compiler.java -- placeholder for Java-to-native runtime compilers Copyright (C) 1998, 1999, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath 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 for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.