// Path: lang/src/main/java/mumbler/truffle/node/builtin/BuiltinNode.java
// @NodeChild(value = "arguments", type = MumblerNode[].class)
// public abstract class BuiltinNode extends MumblerNode {
//     public static MumblerFunction createBuiltinFunction(
//             MumblerLanguage lang,
//             NodeFactory<? extends BuiltinNode> factory,
//             VirtualFrame outerFrame) {
//         int argumentCount = factory.getExecutionSignature().size();
//         MumblerNode[] argumentNodes = new MumblerNode[argumentCount];
//         for (int i=0; i<argumentCount; i++) {
//             argumentNodes[i] = new ReadArgumentNode(i);
//         }
//         BuiltinNode node = factory.createNode((Object) argumentNodes);
//         return new MumblerFunction(Truffle.getRuntime().createCallTarget(
//                 new MumblerRootNode(lang, new MumblerNode[] {node},
//                         new FrameDescriptor())));
//     }
// }


import mumbler.truffle.node.builtin.BuiltinNode;
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.nodes.NodeInfo;
package mumbler.truffle.node.builtin.io;



@NodeInfo(shortName = "println")
@GenerateNodeFactory
// Path: lang/src/main/java/mumbler/truffle/node/builtin/BuiltinNode.java
// @NodeChild(value = "arguments", type = MumblerNode[].class)
// public abstract class BuiltinNode extends MumblerNode {
//     public static MumblerFunction createBuiltinFunction(
//             MumblerLanguage lang,
//             NodeFactory<? extends BuiltinNode> factory,
//             VirtualFrame outerFrame) {
//         int argumentCount = factory.getExecutionSignature().size();
//         MumblerNode[] argumentNodes = new MumblerNode[argumentCount];
//         for (int i=0; i<argumentCount; i++) {
//             argumentNodes[i] = new ReadArgumentNode(i);
//         }
//         BuiltinNode node = factory.createNode((Object) argumentNodes);
//         return new MumblerFunction(Truffle.getRuntime().createCallTarget(
//                 new MumblerRootNode(lang, new MumblerNode[] {node},
//                         new FrameDescriptor())));
//     }
// }


// Path: lang/src/main/java/mumbler/truffle/node/builtin/io/PrintlnBuiltinNode.java
import mumbler.truffle.node.builtin.BuiltinNode;
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
import com.oracle.truffle.api.dsl.Specialization;
import com.oracle.truffle.api.nodes.NodeInfo;

package mumbler.truffle.node.builtin.io;



@NodeInfo(shortName = "println")
@GenerateNodeFactory
public abstract class PrintlnBuiltinNode extends BuiltinNode {