From 11bf8986762cb32d8cecfb8ada4954e04fb2626d Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Fri, 3 Jul 2015 07:39:35 -0500
Subject: [PATCH] Update AST callback example from Tobi

---
 test/test_isl.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/test/test_isl.py b/test/test_isl.py
index 851d79b..ee4f7d9 100644
--- a/test/test_isl.py
+++ b/test/test_isl.py
@@ -174,9 +174,25 @@ def test_schedule():
 
     ast = build.ast_from_schedule(schedule)
 
+    def cb_print_user(printer, options, node):
+        print("Callback user called")
+        printer = printer.print_str("Callback user")
+        return printer
+
+    def cb_print_for(printer, options, node):
+        print("Callback for called")
+        printer = printer.print_str("Callback For")
+        return printer
+
+    opts = isl.AstPrintOptions.alloc(isl.DEFAULT_CONTEXT)
+    opts, cb_print_user_handle = opts.set_print_user(cb_print_user)
+    opts, cb_print_for_handle = opts.set_print_for(cb_print_for)
+
     printer = isl.Printer.to_str(isl.DEFAULT_CONTEXT)
     printer = printer.set_output_format(isl.format.C)
-    printer = printer.print_ast_node(ast)
+    printer.print_str("// Start\n")
+    printer = ast.print_(printer, opts)
+    printer.print_str("// End")
 
     print(printer.get_str())
 
-- 
GitLab