@@ -6,6 +6,7 @@ import '../../code_generator.dart';
66import '../../config_provider/config.dart' ;
77import '../../config_provider/config_types.dart' ;
88import '../../context.dart' ;
9+ import '../../strings.dart' ;
910import '../clang_bindings/clang_bindings.dart' as clang_types;
1011import '../utils.dart' ;
1112import 'api_availability.dart' ;
@@ -119,7 +120,7 @@ List<Func> parseFunctionDeclaration(
119120 );
120121
121122 // Initialized with a single value with no prefix and empty var args.
122- var varArgFunctions = [ VarArgFunction ( '' , []) ];
123+ var varArgFunctions = < VarArgFunction ? > [ null ];
123124 if (config.functions.varArgs.containsKey (funcName)) {
124125 if (clang.clang_isFunctionTypeVariadic (cursor.type ()) == 1 ) {
125126 varArgFunctions = config.functions.varArgs[funcName]! ;
@@ -131,6 +132,8 @@ List<Func> parseFunctionDeclaration(
131132 }
132133 }
133134 for (final vaFunc in varArgFunctions) {
135+ var usr = funcUsr;
136+ if (vaFunc != null ) usr += '$synthUsrChar vaFunc: ${vaFunc .postfix }' ;
134137 funcs.add (
135138 Func (
136139 dartDoc: getCursorDocComment (
@@ -139,13 +142,13 @@ List<Func> parseFunctionDeclaration(
139142 indent: nesting.length + commentPrefix.length,
140143 availability: apiAvailability.dartDoc,
141144 ),
142- usr: funcUsr + vaFunc.postfix ,
143- name: config.functions.rename (decl) + vaFunc.postfix,
145+ usr: usr ,
146+ name: config.functions.rename (decl) + ( vaFunc? .postfix ?? '' ) ,
144147 originalName: funcName,
145148 returnType: returnType,
146149 parameters: parameters,
147150 varArgParameters: [
148- for (final ta in vaFunc.types)
151+ for (final ta in vaFunc? .types ?? const < Type > [] )
149152 Parameter (type: ta, name: 'va' , objCConsumed: false ),
150153 ],
151154 exposeSymbolAddress: config.functions.includeSymbolAddress (decl),
0 commit comments