Mercurial > repos > rhope
comparison runtime/blueprint.c @ 66:d4b44ae2e34a
New variant of C backend works now
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 06 Jun 2010 20:29:10 -0400 |
parents | 3e20ed8959c4 |
children | 43cc42df26cc |
comparison
equal
deleted
inserted
replaced
65:1db811fa4744 | 66:d4b44ae2e34a |
---|---|
5 | 5 |
6 typedef struct | 6 typedef struct |
7 { | 7 { |
8 blueprint * bp; | 8 blueprint * bp; |
9 } l_Build; | 9 } l_Build; |
10 | |
11 Func(Build, | |
12 NumParams 1, | |
13 CallSpace 1, | |
14 l_Build) | |
15 | |
16 Param(0, TYPE_BLUEPRINT) | |
17 | |
18 locals->bp = ((t_Blueprint *)(cdata->params[0]))->bp; | |
19 release_ref(cdata->params[0]); | |
20 | |
21 Ret(0, new_object_bp(locals->bp)) | |
22 EndFunc | |
23 | |
24 Func(BlueprintSP_Of, | |
25 NumParams 1, | |
26 CallSpace 1, | |
27 l_Build) | |
28 | |
29 locals->bp = get_blueprint(cdata->params[0]); | |
30 release_ref(cdata->params[0]); | |
31 | |
32 Ret(0, new_object(TYPE_BLUEPRINT)) | |
33 ((t_Blueprint *)cdata->params[0])->bp = locals->bp; | |
34 EndFunc | |
35 | 10 |
36 object * make_Blueprint(int32_t type_id) | 11 object * make_Blueprint(int32_t type_id) |
37 { | 12 { |
38 t_Blueprint * obj; | 13 t_Blueprint * obj; |
39 object * ret = new_object(TYPE_BLUEPRINT); | 14 object * ret = new_object(TYPE_BLUEPRINT); |