@@ -187,33 +187,25 @@ func Generate(ctx context.Context, e Env, dir, filename string, stderr io.Writer
187187 if debug .Traced {
188188 region = trace .StartRegion (ctx , "codegen" )
189189 }
190- var files map [string ]string
191- var resp * plugin.CodeGenResponse
190+ var genfunc func (req * plugin.CodeGenRequest ) (* plugin.CodeGenResponse , error )
192191 var out string
193192 switch {
194193 case sql .Gen .Go != nil :
195194 out = combo .Go .Out
196- resp , err = golang .Generate ( codeGenRequest ( result , combo ))
195+ genfunc = golang .Generate
197196 case sql .Gen .Kotlin != nil :
198197 out = combo .Kotlin .Out
199- resp , err = kotlin .Generate ( codeGenRequest ( result , combo ))
198+ genfunc = kotlin .Generate
200199 case sql .Gen .Python != nil :
201200 out = combo .Python .Out
202- resp , err = python .Generate ( codeGenRequest ( result , combo ))
201+ genfunc = python .Generate
203202 default :
204203 panic ("missing language backend" )
205204 }
205+ resp , err := genfunc (codeGenRequest (result , combo ))
206206 if region != nil {
207207 region .End ()
208208 }
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-
217209 if err != nil {
218210 fmt .Fprintf (stderr , "# package %s\n " , name )
219211 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
223215 }
224216 continue
225217 }
218+ files := map [string ]string {}
219+ for _ , file := range resp .Files {
220+ files [file .Name ] = string (file .Contents )
221+ }
226222 for n , source := range files {
227223 filename := filepath .Join (dir , out , n )
228224 output [filename ] = source
0 commit comments