Mercurial > repos > rhope
comparison cbackend_c.rhope @ 159:d1e206ff75f9
Fix some bugs involving calling a worker object
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 07 Jan 2011 03:17:20 -0500 |
parents | 29b479a2ce48 |
children | bac2c74801f0 |
comparison
equal
deleted
inserted
replaced
158:0e06f29aa83d | 159:d1e206ff75f9 |
---|---|
846 }{ | 846 }{ |
847 If[[name]=["Call"]] | 847 If[[name]=["Call"]] |
848 { | 848 { |
849 to call <- [args]Index[0] | 849 to call <- [args]Index[0] |
850 last numparams <- [func]Last NumParams >> | 850 last numparams <- [func]Last NumParams >> |
851 out <- [[[[[[func]Add Raw Line[[["if (get_blueprint("]Append[Make Op[Strip Addref[to call], func]]]Append[")->type_id == TYPE_WORKER) {"]] | 851 out <- [[[[[[[func]Add Raw Line[[["if (get_blueprint("]Append[Make Op[Strip Addref[to call], func]]]Append[")->type_id == TYPE_WORKER) {"]] |
852 ]Val Call[to call, Tail[args,1]] | 852 ]Val Call[to call, Tail[args,1]] |
853 ]Add Raw Line["} else {"] | 853 ]Add Raw Line["} else {"] |
854 ]Last NumParams <<[last numparams] | 854 ]Last NumParams <<[last numparams] |
855 ]Func Base["Call",args, "Call"] | 855 ]Func Base["Call",args, "Call"] |
856 ]Add Raw Line["}"] | 856 ]Add Raw Line["}"] |
857 ]Last NumParams <<[[Length[args]]-[1]] | |
857 }{ | 858 }{ |
858 out <- [func]Func Base[Escape Rhope Name[name,[func]Escape Pattern >>],args, "Call"] | 859 out <- [func]Func Base[Escape Rhope Name[name,[func]Escape Pattern >>],args, "Call"] |
859 } | 860 } |
860 } | 861 } |
861 } | 862 } |