mirror of
https://github.com/mappu/miqt.git
synced 2025-04-28 08:00:22 +00:00
genbindings: handle the case when RequireCpp needs to return void
This commit is contained in:
parent
bc4a22f142
commit
2c2344e786
@ -1233,21 +1233,28 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if m.RequireCpp != nil {
|
if m.RequireCpp != nil {
|
||||||
|
var unavailableRetn string
|
||||||
|
if retnCabi := m.ReturnType.RenderTypeCabi(); retnCabi == "void" {
|
||||||
|
unavailableRetn = "\treturn;\n"
|
||||||
|
} else {
|
||||||
|
unavailableRetn = "\t" + retnCabi + " _ret_unavailable;\n" +
|
||||||
|
"\treturn _ret_unavailable;\n"
|
||||||
|
}
|
||||||
|
|
||||||
ret.WriteString(fmt.Sprintf(
|
ret.WriteString(fmt.Sprintf(
|
||||||
"%s %s_%s(%s) {\n"+
|
"%s %s_%s(%s) {\n"+
|
||||||
"#if "+*m.RequireCpp+"\n"+
|
"#if "+*m.RequireCpp+"\n"+
|
||||||
"%s"+
|
"%s"+
|
||||||
"%s"+
|
"%s"+
|
||||||
"#else\n"+
|
"#else\n"+
|
||||||
"\t%s _ret_unavailable;\n"+
|
"%s"+
|
||||||
"\treturn _ret_unavailable;\n"+
|
|
||||||
"#endif\n"+
|
"#endif\n"+
|
||||||
"}\n"+
|
"}\n"+
|
||||||
"\n",
|
"\n",
|
||||||
m.ReturnType.RenderTypeCabi(), methodPrefixName, m.SafeMethodName(), emitParametersCabi(m, ifv(m.IsConst, "const ", "")+methodPrefixName+"*"),
|
m.ReturnType.RenderTypeCabi(), methodPrefixName, m.SafeMethodName(), emitParametersCabi(m, ifv(m.IsConst, "const ", "")+methodPrefixName+"*"),
|
||||||
preamble,
|
preamble,
|
||||||
emitAssignCppToCabi("\treturn ", m.ReturnType, callTarget),
|
emitAssignCppToCabi("\treturn ", m.ReturnType, callTarget),
|
||||||
m.ReturnType.RenderTypeCabi(),
|
unavailableRetn,
|
||||||
))
|
))
|
||||||
|
|
||||||
} else if m.BecomesNonConstInVersion != nil {
|
} else if m.BecomesNonConstInVersion != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user