diff test/test.c @ 7:d61550e2c001

Added current work on new runtime
author Mike Pavone <pavone@retrodev.com>
date Wed, 13 May 2009 00:47:40 -0400
parents
children 8d74ef7fa357
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test.c	Wed May 13 00:47:40 2009 -0400
@@ -0,0 +1,33 @@
+#include <stdio.h>
+#include "builtin.h"
+#include "object.h"
+#include "integer.h"
+
+int main(int argc, char ** argv)
+{
+	returntype ret;
+	calldata cdata;
+	register_builtin_types();
+	cdata.params[0] = make_Int32(2);
+	cdata.params[1] = make_Int32(3);
+	cdata.num_params = 2;
+	ret = call_method(METHOD_ADD, &cdata);
+	while(ret == TAIL_RETURN)
+		ret = cdata.tail_func(&cdata);
+	if(ret == EXCEPTION_RETURN) {
+		puts("Exception!");
+		exit(-1);
+	}
+	printf("After METHOD_ADD: %d\n", ((_t_Int32 *)cdata.params[0])->num);
+	cdata.params[1] = make_Int32(1);
+	ret = call_method(METHOD_SUB, &cdata);
+	while(ret == TAIL_RETURN)
+		ret = cdata.tail_func(&cdata);
+	if(ret == EXCEPTION_RETURN) {
+		puts("Exception!");
+		exit(-1);
+	}
+	printf("After METHOD_ADD: %d\n", ((_t_Int32 *)cdata.params[0])->num);
+	return 0;
+}
+