package com.ibm.apgas; /** * Wrapper class to provide X10 serialization behavior. This class was created * by compiling the X10 class below: <code> * import com.ibm.apgas.Task; * class TaskWrapper implements ()=>void { * val task:Task; * * def this(t:Task) { * this.task = t; * } * * public operator this() { task.body(); } * } * </code> Also possible that we could do this in Task instead, and avoid a * wrapper object. But doing it this way is is marginally easy to maintain * because we can just regenerate this class when serialization logic changes. */ @x10.runtime.impl.java.X10Generated public class TaskWrapper extends x10.core.Ref implements x10.core.fun.VoidFun_0_0, x10.serialization.X10JavaSerializable { private static final long serialVersionUID = 1L; public static final x10.rtt.RuntimeType<TaskWrapper> $RTT = x10.rtt.NamedType .<TaskWrapper> make("TaskWrapper", /* base class */ TaskWrapper.class, /* parents */ new x10.rtt.Type[] { x10.core.fun.VoidFun_0_0.$RTT }); public x10.rtt.RuntimeType<?> $getRTT() { return $RTT; } public x10.rtt.Type<?> $getParam(int i) { return null; } private void writeObject(java.io.ObjectOutputStream oos) throws java.io.IOException { if (x10.runtime.impl.java.Runtime.TRACE_SER) { java.lang.System.out .println("Serializer: writeObject(ObjectOutputStream) of " + this + " calling"); } oos.defaultWriteObject(); } public static x10.serialization.X10JavaSerializable $_deserialize_body( TaskWrapper $_obj, x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException { if (x10.runtime.impl.java.Runtime.TRACE_SER) { x10.runtime.impl.java.Runtime .printTraceMessage("X10JavaSerializable: $_deserialize_body() of " + TaskWrapper.class + " calling"); } com.ibm.apgas.Task task = (com.ibm.apgas.Task) $deserializer .readRefUsingReflection(); $_obj.task = task; return $_obj; } public static x10.serialization.X10JavaSerializable $_deserializer( x10.serialization.X10JavaDeserializer $deserializer) throws java.io.IOException { TaskWrapper $_obj = new TaskWrapper((java.lang.System[]) null); $deserializer.record_reference($_obj); return $_deserialize_body($_obj, $deserializer); } public void $_serialize(x10.serialization.X10JavaSerializer $serializer) throws java.io.IOException { $serializer.writeObjectUsingReflection(this.task); } // constructor just for allocation public TaskWrapper(final java.lang.System[] $dummy) { } public com.ibm.apgas.Task task; // creation method for java code (1-phase java constructor) public TaskWrapper(final com.ibm.apgas.Task t) { this((java.lang.System[]) null); TaskWrapper$$init$S(t); } // constructor for non-virtual call final public TaskWrapper TaskWrapper$$init$S(final com.ibm.apgas.Task t) { this.task = ((com.ibm.apgas.Task) (t)); return this; } public void $apply() { final com.ibm.apgas.Task t1 = ((com.ibm.apgas.Task) (task)); t1.body(); } final public TaskWrapper TaskWrapper$$TaskWrapper$this() { return TaskWrapper.this; } }