MCPcopy Create free account
hub / github.com/Autodesk/AutomaticComponentToolkit / getCSharpClassParameters

Function getCSharpClassParameters

Source/buildbindingcsharp.go:269–306  ·  view source on GitHub ↗
(method ComponentDefinitionMethod, NameSpace string, ClassName string, isGlobal bool)

Source from the content-addressed store, hash-verified

267}
268
269func getCSharpClassParameters(method ComponentDefinitionMethod, NameSpace string, ClassName string, isGlobal bool) (string, string, error) {
270 parameters := ""
271 returnType := ""
272
273 for k := 0; k < len(method.Params); k++ {
274 param := method.Params[k]
275 ParamTypeName, err := getCSharpParameterType(param.ParamType, NameSpace, param.ParamClass, false)
276 if err != nil {
277 return "", "", err
278 }
279
280 switch param.ParamPass {
281 case "in":
282 if parameters != "" {
283 parameters = parameters + ", "
284 }
285 parameters = parameters + ParamTypeName + " A" + param.ParamName
286
287 case "out":
288 if parameters != "" {
289 parameters = parameters + ", "
290 }
291 parameters = parameters + "out " + ParamTypeName + " A" + param.ParamName
292
293 case "return":
294 if returnType != "" {
295 return "", "", fmt.Errorf("duplicate return value \"%s\" for Pascal method \"%s\"", param.ParamName, method.MethodName)
296 }
297 returnType = ParamTypeName
298 }
299 }
300
301 if returnType == "" {
302 returnType = "void"
303 }
304
305 return parameters, returnType, nil
306}
307
308func writeCSharpClassMethodImplementation(method ComponentDefinitionMethod, w LanguageWriter, NameSpace string, ClassName string, isGlobal bool, spacing string) error {
309

Callers 1

Calls 1

getCSharpParameterTypeFunction · 0.85

Tested by

no test coverage detected