diff options
| author | Rémi Verschelde | 2016-10-30 18:44:57 +0100 |
|---|---|---|
| committer | Rémi Verschelde | 2016-11-01 00:33:51 +0100 |
| commit | 97c8508f5e4f57b1048830d44e76e1f4517fd449 (patch) | |
| tree | 3d6af30f519a2a7788e596f21d91f3ecfa399864 /core/make_binders.py | |
| parent | 681575fa7123592897090c6cce44402c4e45baeb (diff) | |
| download | godot-97c8508f5e4f57b1048830d44e76e1f4517fd449.tar.gz godot-97c8508f5e4f57b1048830d44e76e1f4517fd449.tar.zst godot-97c8508f5e4f57b1048830d44e76e1f4517fd449.zip | |
Diffstat (limited to 'core/make_binders.py')
| -rw-r--r-- | core/make_binders.py | 154 |
1 files changed, 77 insertions, 77 deletions
diff --git a/core/make_binders.py b/core/make_binders.py index 758472296..72ca3286f 100644 --- a/core/make_binders.py +++ b/core/make_binders.py @@ -168,94 +168,94 @@ MethodBind* create_method_bind($ifret R$ $ifnoret void$ (T::*p_method)($arg, P@$ def make_version(template,nargs,argmax,const,ret): - intext=template - from_pos=0 - outtext="" + intext=template + from_pos=0 + outtext="" - while(True): - to_pos=intext.find("$",from_pos) - if (to_pos==-1): - outtext+=intext[from_pos:] - break - else: - outtext+=intext[from_pos:to_pos] - end=intext.find("$",to_pos+1) - if (end==-1): - break # ignore - macro=intext[to_pos+1:end] - cmd="" - data="" + while(True): + to_pos=intext.find("$",from_pos) + if (to_pos==-1): + outtext+=intext[from_pos:] + break + else: + outtext+=intext[from_pos:to_pos] + end=intext.find("$",to_pos+1) + if (end==-1): + break # ignore + macro=intext[to_pos+1:end] + cmd="" + data="" - if (macro.find(" ")!=-1): - cmd=macro[0:macro.find(" ")] - data=macro[macro.find(" ")+1:] - else: - cmd=macro + if (macro.find(" ")!=-1): + cmd=macro[0:macro.find(" ")] + data=macro[macro.find(" ")+1:] + else: + cmd=macro - if (cmd=="argc"): - outtext+=str(nargs) - if (cmd=="ifret" and ret): - outtext+=data - if (cmd=="ifargs" and nargs): - outtext+=data - if (cmd=="ifretargs" and nargs and ret): - outtext+=data - if (cmd=="ifconst" and const): - outtext+=data - elif (cmd=="ifnoconst" and not const): - outtext+=data - elif (cmd=="ifnoret" and not ret): - outtext+=data - elif (cmd=="iftempl" and (nargs>0 or ret)): - outtext+=data - elif (cmd=="arg,"): - for i in range(1,nargs+1): - if (i>1): - outtext+=", " - outtext+=data.replace("@",str(i)) - elif (cmd=="arg"): - for i in range(1,nargs+1): - outtext+=data.replace("@",str(i)) - elif (cmd=="noarg"): - for i in range(nargs+1,argmax+1): - outtext+=data.replace("@",str(i)) - elif (cmd=="noarg"): - for i in range(nargs+1,argmax+1): - outtext+=data.replace("@",str(i)) + if (cmd=="argc"): + outtext+=str(nargs) + if (cmd=="ifret" and ret): + outtext+=data + if (cmd=="ifargs" and nargs): + outtext+=data + if (cmd=="ifretargs" and nargs and ret): + outtext+=data + if (cmd=="ifconst" and const): + outtext+=data + elif (cmd=="ifnoconst" and not const): + outtext+=data + elif (cmd=="ifnoret" and not ret): + outtext+=data + elif (cmd=="iftempl" and (nargs>0 or ret)): + outtext+=data + elif (cmd=="arg,"): + for i in range(1,nargs+1): + if (i>1): + outtext+=", " + outtext+=data.replace("@",str(i)) + elif (cmd=="arg"): + for i in range(1,nargs+1): + outtext+=data.replace("@",str(i)) + elif (cmd=="noarg"): + for i in range(nargs+1,argmax+1): + outtext+=data.replace("@",str(i)) + elif (cmd=="noarg"): + for i in range(nargs+1,argmax+1): + outtext+=data.replace("@",str(i)) - from_pos=end+1 + from_pos=end+1 - return outtext + return outtext def run(target, source, env): - versions=10 - versions_ext=6 - text="" - text_ext="" + versions=10 + versions_ext=6 + text="" + text_ext="" - for i in range(0,versions+1): + for i in range(0,versions+1): - t="" - t+=make_version(template,i,versions,False,False) - t+=make_version(template_typed,i,versions,False,False) - t+=make_version(template,i,versions,False,True) - t+=make_version(template_typed,i,versions,False,True) - t+=make_version(template,i,versions,True,False) - t+=make_version(template_typed,i,versions,True,False) - t+=make_version(template,i,versions,True,True) - t+=make_version(template_typed,i,versions,True,True) - if (i>=versions_ext): - text_ext+=t - else: - text+=t + t="" + t+=make_version(template,i,versions,False,False) + t+=make_version(template_typed,i,versions,False,False) + t+=make_version(template,i,versions,False,True) + t+=make_version(template_typed,i,versions,False,True) + t+=make_version(template,i,versions,True,False) + t+=make_version(template_typed,i,versions,True,False) + t+=make_version(template,i,versions,True,True) + t+=make_version(template_typed,i,versions,True,True) + if (i>=versions_ext): + text_ext+=t + else: + text+=t - f=open(target[0].path,"w") - f.write(text) - f.close() + f=open(target[0].path,"w") + f.write(text) + f.close() - f=open(target[1].path,"w") - f.write(text_ext) - f.close() + f=open(target[1].path,"w") + f.write(text_ext) + f.close() |
