@@ -35,6 +35,8 @@ type buildContext struct {
3535 rawValueType * types.Named
3636
3737 typeToStructCache map [types.Type ]* rlpstruct.Type
38+
39+ internalMethods bool
3840}
3941
4042func newBuildContext (packageRLP * types.Package ) * buildContext {
@@ -98,6 +100,8 @@ type genContext struct {
98100 inPackage * types.Package
99101 imports map [string ]struct {}
100102 tempCounter int
103+
104+ internalMethods bool
101105}
102106
103107func newGenContext (inPackage * types.Package ) * genContext {
@@ -736,7 +740,7 @@ func generateDecoder(ctx *genContext, typ string, op op) []byte {
736740
737741 result , code := op .genDecode (ctx )
738742 var b bytes.Buffer
739- fmt .Fprintf (& b , "func (obj *%s) DecodeRLP (dec *rlp.Stream) error {\n " , typ )
743+ fmt .Fprintf (& b , "func (obj *%s) %s (dec *rlp.Stream) error {\n " , typ , ctx . decoderMethod () )
740744 fmt .Fprint (& b , code )
741745 fmt .Fprintf (& b , " *obj = %s\n " , result )
742746 fmt .Fprintf (& b , " return nil\n " )
@@ -751,7 +755,7 @@ func generateEncoder(ctx *genContext, typ string, op op) []byte {
751755 ctx .addImport (pathOfPackageRLP )
752756
753757 var b bytes.Buffer
754- fmt .Fprintf (& b , "func (obj *%s) EncodeRLP (_w io.Writer) error {\n " , typ )
758+ fmt .Fprintf (& b , "func (obj *%s) %s (_w io.Writer) error {\n " , typ , ctx . encoderMethod () )
755759 fmt .Fprintf (& b , " w := rlp.NewEncoderBuffer(_w)\n " )
756760 fmt .Fprint (& b , op .genWrite (ctx , "obj" ))
757761 fmt .Fprintf (& b , " return w.Flush()\n " )
@@ -773,6 +777,7 @@ func (bctx *buildContext) generate(typ *types.Named, encoder, decoder bool) ([]b
773777 encSource []byte
774778 decSource []byte
775779 )
780+ ctx .internalMethods = bctx .internalMethods
776781 if encoder {
777782 encSource = generateEncoder (ctx , typ .Obj ().Name (), op )
778783 }
0 commit comments