@@ -809,6 +809,21 @@ List<Error> _validateAst(Root root, String source) {
809809 lineNumber: _calculateLineNumberNullable (source, param.offset),
810810 ));
811811 }
812+ if (api.location == ApiLocation .flutter) {
813+ if (! param.isPositional) {
814+ result.add (Error (
815+ message:
816+ 'FlutterApi method parameters must be positional, in method "${method .name }" in API: "${api .name }"' ,
817+ lineNumber: _calculateLineNumberNullable (source, param.offset),
818+ ));
819+ } else if (param.isOptional) {
820+ result.add (Error (
821+ message:
822+ 'FlutterApi method parameters must not be optional, in method "${method .name }" in API: "${api .name }"' ,
823+ lineNumber: _calculateLineNumberNullable (source, param.offset),
824+ ));
825+ }
826+ }
812827 }
813828 if (method.objcSelector.isNotEmpty) {
814829 if (':' .allMatches (method.objcSelector).length !=
@@ -1132,10 +1147,10 @@ class _RootBuilder extends dart_ast_visitor.RecursiveAstVisitor<Object?> {
11321147 ),
11331148 name: formalParameter.name? .lexeme ?? '' ,
11341149 offset: formalParameter.offset,
1135- isNamed: isNamed,
1136- isOptional: isOptional,
1137- isPositional: isPositional,
1138- isRequired: isRequired,
1150+ isNamed: isNamed ?? formalParameter.isNamed ,
1151+ isOptional: isOptional ?? formalParameter.isOptional ,
1152+ isPositional: isPositional ?? formalParameter.isPositional ,
1153+ isRequired: isRequired ?? formalParameter.isRequired ,
11391154 defaultValue: defaultValue,
11401155 );
11411156 } else if (simpleFormalParameter != null ) {
0 commit comments