Skip to content

Commit 2b39e6a

Browse files
committed
Update codegen with FnFunc metadata
Signed-off-by: James Hamlin <jfhamlin@gmail.com>
1 parent 3e0b773 commit 2b39e6a

9 files changed

Lines changed: 22 additions & 41 deletions

File tree

pkg/codegen/codegen.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,11 +326,11 @@ func (g *Generator) generateFn(fn *runtime.Fn) string {
326326
}
327327

328328
// Handle metadata if present
329+
// NB: we've got metadata with :rettag on our function, but clojure's functions have no metadata...
330+
// TODO: before merge, investigate this.
329331
if meta := fn.Meta(); meta != nil {
330332
metaVar := g.generateValue(meta)
331-
// IFnFunc doesn't support metadata directly, so wrap it
332-
g.writef("// Note: metadata on functions is not yet supported in generated code\n")
333-
g.writef("// Original metadata: %s\n", metaVar)
333+
g.writeAssign(fnVar, fmt.Sprintf("%s.WithMeta(%s).(lang.FnFunc)", fnVar, metaVar))
334334
}
335335

336336
// Return the function variable

pkg/codegen/testdata/codegen/test/fn_recur.go

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/loop_simple.go

Lines changed: 2 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/maybe_class.go

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/quote_simple.go

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/throw_simple.go

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/try_advanced.go

Lines changed: 4 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/try_basic.go

Lines changed: 7 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/codegen/testdata/codegen/test/with_meta.go

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)