/*
 *  This file is part of the Jikes RVM project (http://jikesrvm.org).
 *
 *  This file is licensed to You under the Common Public License (CPL);
 *  You may not use this file except in compliance with the License. You
 *  may obtain a copy of the License at
 *
 *      http://www.opensource.org/licenses/cpl1.0.php
 *
 *  See the COPYRIGHT.txt file distributed with this work for information
 *  regarding copyright ownership.
 */
package java.lang;

import org.jikesrvm.classloader.RVMClass;
import org.jikesrvm.classloader.RVMMethod;

/**
 * Jikes RVM implementation of {@link java.lang.Compiler}
 */
public final class Compiler {
  private Compiler() {
  }
  public static boolean compileClass(Class<?> klass) {
    RVMClass rvmKlass = java.lang.JikesRVMSupport.getTypeForClass(klass).asClass();
    if (rvmKlass.isResolved()) {
      RVMMethod[] methods = rvmKlass.getDeclaredMethods();
      for (RVMMethod method : methods) {
        if (!method.isAbstract() && !method.isNative()) {
          method.compile();
        }
      }
      return true;
    } else {
      return false;
    }
  }
  public static boolean compileClasses(String klasses) {
    try {
      return compileClass(Class.forName(klasses));
    } catch (ClassNotFoundException e) {
      return false;
    }
  }
  public static Object command(Object arg) {
    return null;
  }
  public static void enable() {
  }
  public static void disable() {
  }
}
