aboutsummaryrefslogtreecommitdiff
path: root/core/make_binders.py
diff options
context:
space:
mode:
authorRémi Verschelde2016-10-30 18:44:57 +0100
committerRémi Verschelde2016-11-01 00:33:51 +0100
commit97c8508f5e4f57b1048830d44e76e1f4517fd449 (patch)
tree3d6af30f519a2a7788e596f21d91f3ecfa399864 /core/make_binders.py
parent681575fa7123592897090c6cce44402c4e45baeb (diff)
downloadgodot-97c8508f5e4f57b1048830d44e76e1f4517fd449.tar.gz
godot-97c8508f5e4f57b1048830d44e76e1f4517fd449.tar.zst
godot-97c8508f5e4f57b1048830d44e76e1f4517fd449.zip
Diffstat (limited to 'core/make_binders.py')
-rw-r--r--core/make_binders.py154
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()