Skip to content

Commit 30e3972

Browse files
committed
generate: Iterate on function support
1 parent c94bfaf commit 30e3972

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

generate/codegen/gen_function.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,10 @@ func (f *Function) WriteCSignature(currentModule *modules.Module, cw *CodeWriter
284284
var returnTypeStr string
285285
rt := f.Type.ReturnType
286286
returnTypeStr = rt.CName()
287+
// check for CSignature:
288+
if cs, ok := rt.(hasCSignature); ok {
289+
returnTypeStr = cs.CSignature()
290+
}
287291
if hasBlockParam(f.Parameters) {
288292
cw.WriteLineF("// // TODO: %v not implemented (missing block param support)", f.Name)
289293
return

generate/typing/pointer_type.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ func (c *PointerType) CName() string {
5656
return ""
5757
case *RefType:
5858
return tt.CName() + "*"
59+
case *PointerType:
60+
return tt.Type.CName()
5961
default:
6062
return c.Type.CName()
6163
}

0 commit comments

Comments
 (0)