comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java @ 13760:a12017c18d5d

Truffle API cleanup: Reduce the visibility of classes and constructors that are not intended to be instantiated by guest language implementations; provide abstract class RootCallTarget as a CallTarget to a RootNode
author Christian Wimmer <christian.wimmer@oracle.com>
date Fri, 24 Jan 2014 18:13:38 -0800
parents ac5b0f31f7a2
children f46cab39a9a2
comparison
equal deleted inserted replaced
13759:eed1aafead0d 13760:a12017c18d5d
29 import com.oracle.truffle.api.nodes.*; 29 import com.oracle.truffle.api.nodes.*;
30 30
31 /** 31 /**
32 * Default implementation of the Truffle runtime if the virtual machine does not provide a better 32 * Default implementation of the Truffle runtime if the virtual machine does not provide a better
33 * performing alternative. 33 * performing alternative.
34 * <p>
35 * This is an implementation-specific class. Do not use or instantiate it. Instead, use
36 * {@link Truffle#getRuntime()} to retrieve the current {@link TruffleRuntime}.
34 */ 37 */
35 public final class DefaultTruffleRuntime implements TruffleRuntime { 38 public final class DefaultTruffleRuntime implements TruffleRuntime {
39
40 public DefaultTruffleRuntime() {
41 if (Truffle.getRuntime() != null) {
42 throw new IllegalArgumentException("Cannot instantiate DefaultTruffleRuntime. Use Truffle.getRuntime() instead.");
43 }
44 }
36 45
37 @Override 46 @Override
38 public String getName() { 47 public String getName() {
39 return "Default Truffle Runtime"; 48 return "Default Truffle Runtime";
40 } 49 }
41 50
42 @Override 51 @Override
43 public CallTarget createCallTarget(RootNode rootNode) { 52 public RootCallTarget createCallTarget(RootNode rootNode) {
44 return new DefaultCallTarget(rootNode); 53 return new DefaultCallTarget(rootNode);
45 } 54 }
46 55
47 @Override 56 @Override
48 public VirtualFrame createVirtualFrame(PackedFrame caller, Arguments arguments, FrameDescriptor frameDescriptor) { 57 public VirtualFrame createVirtualFrame(PackedFrame caller, Arguments arguments, FrameDescriptor frameDescriptor) {