@@ -187,33 +187,25 @@ func Generate(ctx context.Context, e Env, dir, filename string, stderr io.Writer
187
187
if debug .Traced {
188
188
region = trace .StartRegion (ctx , "codegen" )
189
189
}
190
- var files map [string ]string
191
- var resp * plugin.CodeGenResponse
190
+ var genfunc func (req * plugin.CodeGenRequest ) (* plugin.CodeGenResponse , error )
192
191
var out string
193
192
switch {
194
193
case sql .Gen .Go != nil :
195
194
out = combo .Go .Out
196
- resp , err = golang .Generate ( codeGenRequest ( result , combo ))
195
+ genfunc = golang .Generate
197
196
case sql .Gen .Kotlin != nil :
198
197
out = combo .Kotlin .Out
199
- resp , err = kotlin .Generate ( codeGenRequest ( result , combo ))
198
+ genfunc = kotlin .Generate
200
199
case sql .Gen .Python != nil :
201
200
out = combo .Python .Out
202
- resp , err = python .Generate ( codeGenRequest ( result , combo ))
201
+ genfunc = python .Generate
203
202
default :
204
203
panic ("missing language backend" )
205
204
}
205
+ resp , err := genfunc (codeGenRequest (result , combo ))
206
206
if region != nil {
207
207
region .End ()
208
208
}
209
-
210
- if resp != nil {
211
- files = map [string ]string {}
212
- for _ , file := range resp .Files {
213
- files [file .Name ] = string (file .Contents )
214
- }
215
- }
216
-
217
209
if err != nil {
218
210
fmt .Fprintf (stderr , "# package %s\n " , name )
219
211
fmt .Fprintf (stderr , "error generating code: %s\n " , err )
@@ -223,6 +215,10 @@ func Generate(ctx context.Context, e Env, dir, filename string, stderr io.Writer
223
215
}
224
216
continue
225
217
}
218
+ files := map [string ]string {}
219
+ for _ , file := range resp .Files {
220
+ files [file .Name ] = string (file .Contents )
221
+ }
226
222
for n , source := range files {
227
223
filename := filepath .Join (dir , out , n )
228
224
output [filename ] = source
0 commit comments