generateMethod method
Implementation
void generateMethod(
IndentingWriter out, MethodDescriptorProto method, int methodIndex) {
final methodName = disambiguateName(
avoidInitialUnderscore(service._methodName(method.name)),
usedMethodNames,
defaultSuffixes());
final inputType =
service._getDartClassName(method.inputType, forMainFile: true);
final outputType =
service._getDartClassName(method.outputType, forMainFile: true);
final commentBlock =
service.fileGen.commentBlock(_methodDescriptorPath(methodIndex));
if (commentBlock != null) {
out.println(commentBlock);
}
if (method.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\', '
'\'${method.name}\', request, $outputType())');
});
}