Skip to content

Commit 2083ec4

Browse files
echistyakovfacebook-github-bot
authored andcommitted
Simplify control-flow
Summary: This is some weird control-flow from over a decade ago. It needs to be simplified to be readable and easy to follow. Reviewed By: nprintz Differential Revision: D82535143 fbshipit-source-id: 3918e78ea616afde63a199843609a6035bcc84e0
1 parent 99137a5 commit 2083ec4

File tree

20 files changed

+696
-1044
lines changed

20 files changed

+696
-1044
lines changed

thrift/compiler/generate/templates/go/svc/processor.mustache

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,7 @@ func (p *{{> svc/proc_func_name}}) Read(decoder thrift.Decoder) (thrift.Struct,
111111
return args, nil
112112
}
113113

114-
func (p *{{> svc/proc_func_name}}) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) (err error) {
115-
var err2 error
114+
func (p *{{> svc/proc_func_name}}) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) error {
116115
messageType := thrift.REPLY
117116
switch {{#function:exceptions?}}v := {{/function:exceptions?}}result.(type) {
118117
{{#function:exceptions}}
@@ -125,19 +124,16 @@ func (p *{{> svc/proc_func_name}}) Write(seqId int32, result thrift.WritableStru
125124
messageType = thrift.EXCEPTION
126125
}
127126

128-
if err2 = encoder.WriteMessageBegin("{{function:name}}", messageType, seqId); err2 != nil {
129-
err = err2
127+
if err := encoder.WriteMessageBegin("{{function:name}}", messageType, seqId); err != nil {
128+
return err
130129
}
131-
if err2 = result.Write(encoder); err == nil && err2 != nil {
132-
err = err2
130+
if err := result.Write(encoder); err != nil {
131+
return err
133132
}
134-
if err2 = encoder.WriteMessageEnd(); err == nil && err2 != nil {
135-
err = err2
133+
if err := encoder.WriteMessageEnd(); err != nil {
134+
return err
136135
}
137-
if err2 = encoder.Flush(); err == nil && err2 != nil {
138-
err = err2
139-
}
140-
return err
136+
return encoder.Flush()
141137
}
142138

143139
func (p *{{> svc/proc_func_name}}) RunContext(ctx context.Context, reqStruct thrift.ReadableStruct) (thrift.WritableStruct, thrift.ApplicationExceptionIf) {

thrift/compiler/test/fixtures/adapter/out/go/gen-go/svcs.go

Lines changed: 24 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -130,27 +130,23 @@ func (p *procFuncServiceFunc) Read(decoder thrift.Decoder) (thrift.Struct, error
130130
return args, nil
131131
}
132132

133-
func (p *procFuncServiceFunc) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) (err error) {
134-
var err2 error
133+
func (p *procFuncServiceFunc) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) error {
135134
messageType := thrift.REPLY
136135
switch result.(type) {
137136
case *thrift.ApplicationException:
138137
messageType = thrift.EXCEPTION
139138
}
140139

141-
if err2 = encoder.WriteMessageBegin("func", messageType, seqId); err2 != nil {
142-
err = err2
140+
if err := encoder.WriteMessageBegin("func", messageType, seqId); err != nil {
141+
return err
143142
}
144-
if err2 = result.Write(encoder); err == nil && err2 != nil {
145-
err = err2
143+
if err := result.Write(encoder); err != nil {
144+
return err
146145
}
147-
if err2 = encoder.WriteMessageEnd(); err == nil && err2 != nil {
148-
err = err2
146+
if err := encoder.WriteMessageEnd(); err != nil {
147+
return err
149148
}
150-
if err2 = encoder.Flush(); err == nil && err2 != nil {
151-
err = err2
152-
}
153-
return err
149+
return encoder.Flush()
154150
}
155151

156152
func (p *procFuncServiceFunc) RunContext(ctx context.Context, reqStruct thrift.ReadableStruct) (thrift.WritableStruct, thrift.ApplicationExceptionIf) {
@@ -286,27 +282,23 @@ func (p *procFuncAdapterServiceCount) Read(decoder thrift.Decoder) (thrift.Struc
286282
return args, nil
287283
}
288284

289-
func (p *procFuncAdapterServiceCount) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) (err error) {
290-
var err2 error
285+
func (p *procFuncAdapterServiceCount) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) error {
291286
messageType := thrift.REPLY
292287
switch result.(type) {
293288
case *thrift.ApplicationException:
294289
messageType = thrift.EXCEPTION
295290
}
296291

297-
if err2 = encoder.WriteMessageBegin("count", messageType, seqId); err2 != nil {
298-
err = err2
299-
}
300-
if err2 = result.Write(encoder); err == nil && err2 != nil {
301-
err = err2
292+
if err := encoder.WriteMessageBegin("count", messageType, seqId); err != nil {
293+
return err
302294
}
303-
if err2 = encoder.WriteMessageEnd(); err == nil && err2 != nil {
304-
err = err2
295+
if err := result.Write(encoder); err != nil {
296+
return err
305297
}
306-
if err2 = encoder.Flush(); err == nil && err2 != nil {
307-
err = err2
298+
if err := encoder.WriteMessageEnd(); err != nil {
299+
return err
308300
}
309-
return err
301+
return encoder.Flush()
310302
}
311303

312304
func (p *procFuncAdapterServiceCount) RunContext(ctx context.Context, reqStruct thrift.ReadableStruct) (thrift.WritableStruct, thrift.ApplicationExceptionIf) {
@@ -337,27 +329,23 @@ func (p *procFuncAdapterServiceAdaptedTypes) Read(decoder thrift.Decoder) (thrif
337329
return args, nil
338330
}
339331

340-
func (p *procFuncAdapterServiceAdaptedTypes) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) (err error) {
341-
var err2 error
332+
func (p *procFuncAdapterServiceAdaptedTypes) Write(seqId int32, result thrift.WritableStruct, encoder thrift.Encoder) error {
342333
messageType := thrift.REPLY
343334
switch result.(type) {
344335
case *thrift.ApplicationException:
345336
messageType = thrift.EXCEPTION
346337
}
347338

348-
if err2 = encoder.WriteMessageBegin("adaptedTypes", messageType, seqId); err2 != nil {
349-
err = err2
350-
}
351-
if err2 = result.Write(encoder); err == nil && err2 != nil {
352-
err = err2
339+
if err := encoder.WriteMessageBegin("adaptedTypes", messageType, seqId); err != nil {
340+
return err
353341
}
354-
if err2 = encoder.WriteMessageEnd(); err == nil && err2 != nil {
355-
err = err2
342+
if err := result.Write(encoder); err != nil {
343+
return err
356344
}
357-
if err2 = encoder.Flush(); err == nil && err2 != nil {
358-
err = err2
345+
if err := encoder.WriteMessageEnd(); err != nil {
346+
return err
359347
}
360-
return err
348+
return encoder.Flush()
361349
}
362350

363351
func (p *procFuncAdapterServiceAdaptedTypes) RunContext(ctx context.Context, reqStruct thrift.ReadableStruct) (thrift.WritableStruct, thrift.ApplicationExceptionIf) {

0 commit comments

Comments
 (0)