Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision 9a705dc89354e53ad54ff8ee372e6cc20c210e1e)
+++ src/SynTree/Statement.cc	(revision 1a3eab86f23dc0bb8709ff1a369ab2a3e9b1663e)
@@ -453,6 +453,34 @@
 void WaitForStmt::print( std::ostream &os, Indenter indent ) const {
 	os << "Waitfor Statement" << endl;
-	os << indent << "... with block:" << endl << indent+1;
-	// block->print( os, indent + 4 );
+	indent += 1;
+	for( auto & clause : clauses ) {
+		os << indent << "target function :";
+		if(clause.target.function) { clause.target.function->print(os, indent + 1); }
+		os << endl << indent << "with arguments :" << endl;
+		for( auto & thing : clause.target.arguments) {
+			if(thing) { thing->print(os, indent + 1); }
+		}
+		os << indent << " with statment :" << endl;
+		if(clause.statement) { clause.statement->print(os, indent + 1); }
+
+		os << indent << " with condition :" << endl;
+		if(clause.condition) { clause.condition->print(os, indent + 1); }
+	}
+
+	os << indent << " timeout of :" << endl;
+	if(timeout.time) { timeout.time->print(os, indent + 1); }
+
+	os << indent << " with statment :" << endl;
+	if(timeout.statement) { timeout.statement->print(os, indent + 1); }
+
+	os << indent << " with condition :" << endl;
+	if(timeout.condition) { timeout.condition->print(os, indent + 1); }
+
+
+	os << indent << " else :" << endl;
+	if(orelse.statement) { orelse.statement->print(os, indent + 1); }
+
+	os << indent << " with condition :" << endl;
+	if(orelse.condition) { orelse.condition->print(os, indent + 1); }
 }
 
