Package st.gravel.support.jvm.runtime

Source Code of st.gravel.support.jvm.runtime.ImageBootstrapper

package st.gravel.support.jvm.runtime;

import java.io.File;

import st.gravel.support.compiler.ast.ClassProducer;
import st.gravel.support.compiler.ast.DiskClassReader;
import st.gravel.support.compiler.ast.SystemDefinitionNode;
import st.gravel.support.compiler.ast.SystemMapping;
import st.gravel.support.compiler.ast.SystemNode;

public class ImageBootstrapper {

  public static final SystemMapping systemMapping = SystemMapping.factory
      .systemNode_compilerTools_(SystemNode.factory.empty(),
          new JavaSystemMappingCompilerTools());

  public static void bootstrap() {
    File fn = defaultSourceFolder();
    bootstrap(fn);
  }

  public static File defaultSourceFolder() {
    return new File(System.getProperty("user.dir")+ "/src/main/st");
  }

  public static void bootstrap(File fn) {
    systemMapping.updateTo_(loadSystemDefinitionNode(fn));
  }

  public static SystemDefinitionNode loadSystemDefinitionNode(File fn) {
    DiskClassReader diskClassReader = DiskClassReader.factory
        .root_producer_(fn, ClassProducer.factory.basicNew());
    return diskClassReader.read();
  }

}
TOP

Related Classes of st.gravel.support.jvm.runtime.ImageBootstrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.