@@ -6,14 +6,11 @@ import (
6
6
"strings"
7
7
8
8
"github.com/gost-dom/code-gen/customrules"
9
- . "github.com/gost-dom/code-gen/internal"
10
9
"github.com/gost-dom/code-gen/script-wrappers/configuration"
11
10
. "github.com/gost-dom/code-gen/script-wrappers/model"
12
11
"github.com/gost-dom/code-gen/stdgen"
13
12
g "github.com/gost-dom/generators"
14
13
"github.com/gost-dom/webref/idl"
15
-
16
- "github.com/dave/jennifer/jen"
17
14
)
18
15
19
16
func createData (
@@ -159,18 +156,18 @@ func createOperation(
159
156
}
160
157
161
158
func ReturnOnAnyError (errNames []g.Generator ) g.Generator {
162
- if len (errNames ) == 0 {
159
+ switch len (errNames ) {
160
+ case 0 :
163
161
return g .Noop
162
+ case 1 :
163
+ return returnIfError (errNames [0 ])
164
+ default :
165
+ err := g .Id ("err" )
166
+ return g .StatementList (
167
+ g .Assign (err , stdgen .ErrorsJoin (errNames ... )),
168
+ returnIfError (err ),
169
+ )
164
170
}
165
- if len (errNames ) == 1 {
166
- return ReturnOnError {err : errNames [0 ]}
167
- }
168
- return g .StatementList (
169
- g .Assign (g .Id ("err" ),
170
- stdgen .ErrorsJoin (errNames ... ),
171
- ),
172
- ReturnOnError {},
173
- )
174
171
}
175
172
176
173
func IsNodeType (typeName string ) bool {
@@ -204,21 +201,9 @@ func SanitizeVarName(name string) string {
204
201
return name
205
202
}
206
203
207
- func idlNameToUnexportedGoName (s string ) string {
208
- return LowerCaseFirstLetter (IdlNameToGoName (s ))
209
- }
210
-
211
- type ReturnOnError struct {
212
- err g.Generator
213
- }
214
-
215
- func (ret ReturnOnError ) Generate () * jen.Statement {
216
- err := ret .err
217
- if err == nil {
218
- err = g .Id ("err" )
219
- }
204
+ func returnIfError (err g.Generator ) g.Generator {
220
205
return g.IfStmt {
221
- Condition : g.Neq {Lhs : err , Rhs : g .Nil }, //g.Raw(err.Generate().Op("!=").Nil()),
206
+ Condition : g.Neq {Lhs : err , Rhs : g .Nil },
222
207
Block : g .Return (g .Nil , err ),
223
- }. Generate ()
208
+ }
224
209
}
0 commit comments