With 243fa41166f826543db11faa046429c8e16b7d26, the path was opened for builders to produce concrete implementations of abstract struct types; however the ThriftCodecByteCodeGenerator implementation still assumes struct types are classes, and so invalid bytecode is emitted for calling method extractors on structs of interface type (INVOKEVIRTUAL instead of INVOKEINTERFACE). Fixup ThriftCodecByteCodeGenerator to handle codegen for structs of interface type.
With 243fa41166f826543db11faa046429c8e16b7d26, the path was opened for builders to produce concrete implementations of abstract struct types; however the
ThriftCodecByteCodeGenerator
implementation still assumes struct types are classes, and so invalid bytecode is emitted for calling method extractors on structs of interface type (INVOKEVIRTUAL
instead ofINVOKEINTERFACE
). FixupThriftCodecByteCodeGenerator
to handle codegen for structs of interface type.