1 package org.simantics.scl.runtime.utils;
3 import java.io.PrintWriter;
4 import java.io.StringWriter;
6 import org.simantics.scl.runtime.SCLContext;
7 import org.simantics.scl.runtime.function.Function;
8 import org.simantics.scl.runtime.reporting.SCLReporting;
9 import org.simantics.scl.runtime.tuple.Tuple0;
11 public class AsyncUtils {
12 public static void runAsync(Function f) {
13 SCLContext context = SCLContext.createDerivedContext();
17 SCLContext.push(context);
19 f.apply(Tuple0.INSTANCE);
20 } catch(Exception e) {
21 StringWriter sw = new StringWriter();
22 e.printStackTrace(new PrintWriter(sw));
23 SCLReporting.printError(sw.toString());