@@ -2975,7 +2975,8 @@ def generate_route_builder_method(self, route):
29752975 else :
29762976 w .out ('return new %s(this, %s);' , return_class , builder_args )
29772977
2978- def _emit_request_method_body (self , route , args , arg_names , return_class , fields = (), params = ()):
2978+ def _emit_request_method_body (self , route , args , arg_names , return_class ,
2979+ fields = (), params = (), method_name = None , delegate = None ):
29792980 """Emit the request method signature and body."""
29802981 w = self .w
29812982 j = self .j
@@ -2986,7 +2987,10 @@ def _emit_request_method_body(self, route, args, arg_names, return_class, fields
29862987 boxed_return = return_class
29872988
29882989 request_class = JavaClass ('com.dropbox.core.DbxRequest' , generics = (boxed_return ,))
2989- method_name = j .route_method (route ) + 'Request'
2990+ if method_name is None :
2991+ method_name = j .route_method (route ) + 'Request'
2992+ if delegate is None :
2993+ delegate = '%s(%s)' % (j .route_method (route ), arg_names )
29902994
29912995 w .out ('' )
29922996 dbx_request_ref = w .javadoc_ref (JavaClass ('com.dropbox.core.DbxRequest' ))
@@ -3001,9 +3005,9 @@ def _emit_request_method_body(self, route, args, arg_names, return_class, fields
30013005 w .javadoc (doc , params = params , returns = returns_doc )
30023006 with w .block ('public %s %s(%s)' , request_class , method_name , args ):
30033007 if return_class == JavaClass ('void' ):
3004- w .out ('return () -> { %s(%s) ; return null; };' , j . route_method ( route ), arg_names )
3008+ w .out ('return () -> { %s; return null; };' , delegate )
30053009 else :
3006- w .out ('return () -> %s(%s) ;' , j . route_method ( route ), arg_names )
3010+ w .out ('return () -> %s;' , delegate )
30073011
30083012 def translate_error_wrapper (self , route , error_wrapper_var ):
30093013 assert isinstance (route , ApiRoute ), repr (route )
@@ -3901,27 +3905,8 @@ def generate_route_builder(self, route):
39013905 w .out ('_client.%s(%s);' , j .route_method (route ), ', ' .join (args ))
39023906
39033907 if self .g .args .call_request :
3904- if return_class == JavaClass ('void' ):
3905- boxed_return = JavaClass ('java.lang.Void' )
3906- else :
3907- boxed_return = return_class
3908- request_class = JavaClass ('com.dropbox.core.DbxRequest' , generics = (boxed_return ,))
3909-
3910- w .out ('' )
3911- dbx_request_ref = w .javadoc_ref (JavaClass ('com.dropbox.core.DbxRequest' ))
3912- if return_class == JavaClass ('void' ):
3913- returns_doc = "A %s that can be executed later." % dbx_request_ref
3914- else :
3915- result_type = w .resolved_class (boxed_return , generics = True )
3916- returns_doc = "A %s that can be executed later to obtain the {@code %s}." % (
3917- dbx_request_ref , result_type ,
3918- )
3919- w .javadoc ("See %s." % w .javadoc_ref (route ), returns = returns_doc )
3920- with w .block ('public %s startRequest()' , request_class ):
3921- if return_class == JavaClass ('void' ):
3922- w .out ('return () -> { start(); return null; };' )
3923- else :
3924- w .out ('return () -> start();' )
3908+ self ._emit_request_method_body (route , '' , '' , return_class ,
3909+ method_name = 'startRequest' , delegate = 'start()' )
39253910
39263911 def generate_field_assignment (self , field , lhs = None , rhs = None , allow_default = True ):
39273912 assert isinstance (field , Field ), repr (field )
0 commit comments