generateMethod method
void
generateMethod(
- IndentingWriter out,
- MethodDescriptorProto m,
- int methodRepeatedFieldIndex
)
Implementation
void generateMethod(IndentingWriter out, MethodDescriptorProto m,
int methodRepeatedFieldIndex) {
final methodName = disambiguateName(
avoidInitialUnderscore(service._methodName(m.name)),
usedMethodNames,
defaultSuffixes());
final inputType = service._getDartClassName(m.inputType, forMainFile: true);
final outputType =
service._getDartClassName(m.outputType, forMainFile: true);
final commentBlock = service.fileGen
.commentBlock(_methodDescriptorPath(methodRepeatedFieldIndex));
if (commentBlock != null) {
out.println(commentBlock);
}
if (m.options.deprecated) {
out.println(
'@$coreImportPrefix.Deprecated(\'This method is deprecated\')');
}
out.addBlock(
'$asyncImportPrefix.Future<$outputType> $methodName('
'$protobufImportPrefix.ClientContext? ctx, $inputType request) =>',
';', () {
out.println('_client.invoke<$outputType>(ctx, \'$className\', '
'\'${m.name}\', request, $outputType())');
});
}