You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Yuxuan Wang (Jira)" <ji...@apache.org> on 2023/05/19 21:04:00 UTC

[jira] [Commented] (THRIFT-5708) Support reflection capability like protobuf

    [ https://issues.apache.org/jira/browse/THRIFT-5708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17724411#comment-17724411 ] 

Yuxuan Wang commented on THRIFT-5708:
-------------------------------------

I don't think anyone is opposing it, but:
# This would require some significant changes to the go library and compiler
# IIRC protobuf actually created a totally new, separated, go library to do the reflect based implementation

> Support reflection capability like protobuf
> -------------------------------------------
>
>                 Key: THRIFT-5708
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5708
>             Project: Thrift
>          Issue Type: Wish
>          Components: Go - Library
>            Reporter: Lee Yun
>            Priority: Major
>
> Hello, Thrift team. I noticed that when using Protobuf, it provides reflection capabilities that allow us to access metadata and use reflection in generated code, like this:
> ```
> msg := pbdemo.Request\{Name: "abc"}
> m := msg.ProtoReflect()
> fds := m.Descriptor().Fields()
> fmt.Println("----- newReflect:")
> for k := 0; k < fds.Len(); k++ {
>    fd := fds.Get(k)
>    fmt.Println(fd)
> }
>  
> ```
> I'm wondering if Thrift can also support similar functionality? For example, can Thrift record this metadata in generated code and provide reflection capabilities similar to Protobuf? This would make code development more flexible. Thank you for your attention.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)