@@ -389,59 +389,13 @@ impl<R: Read, W: Write> DapServer<R, W> {
389
389
self . server . respond ( rsp) . unwrap ( ) ;
390
390
}
391
391
392
- fn handle_source ( & mut self , req : Request , args : SourceArguments ) {
393
- // We fully expect a `source` argument to exist, it is only for backwards
394
- // compatibility that it could be `None`
395
- let Some ( source) = args. source else {
396
- let message = "Missing `Source` to extract a `source_reference` from." ;
397
- log:: error!( "{message}" ) ;
398
- let rsp = req. error ( message) ;
399
- self . server . respond ( rsp) . unwrap ( ) ;
400
- return ;
401
- } ;
402
-
403
- // We expect a `source_reference`. If the client had a `path` then it would
404
- // not have asked us for the source content.
405
- let Some ( source_reference) = source. source_reference else {
406
- let message = "Missing `source_reference` to locate content for." ;
407
- log:: error!( "{message}" ) ;
408
- let rsp = req. error ( message) ;
409
- self . server . respond ( rsp) . unwrap ( ) ;
410
- return ;
411
- } ;
412
-
413
- // Try to find the source content for this `source_reference`
414
- let Some ( content) = self . find_source_content ( source_reference) else {
415
- let message =
416
- "Failed to locate source content for `source_reference` {source_reference}." ;
417
- log:: error!( "{message}" ) ;
418
- let rsp = req. error ( message) ;
419
- self . server . respond ( rsp) . unwrap ( ) ;
420
- return ;
421
- } ;
422
-
423
- let rsp = req. success ( ResponseBody :: Source ( SourceResponse {
424
- content,
425
- mime_type : None ,
426
- } ) ) ;
427
-
392
+ fn handle_source ( & mut self , req : Request , _args : SourceArguments ) {
393
+ let message = "Unsupported `source` request: {req:?}" ;
394
+ log:: error!( "{message}" ) ;
395
+ let rsp = req. error ( message) ;
428
396
self . server . respond ( rsp) . unwrap ( ) ;
429
397
}
430
398
431
- fn find_source_content ( & self , source_reference : i32 ) -> Option < String > {
432
- let state = self . state . lock ( ) . unwrap ( ) ;
433
- let fallback_sources = & state. fallback_sources ;
434
-
435
- // Match up the requested `source_reference` with one in our `fallback_sources`
436
- for ( current_source, current_source_reference) in fallback_sources. iter ( ) {
437
- if & source_reference == current_source_reference {
438
- return Some ( current_source. clone ( ) ) ;
439
- }
440
- }
441
-
442
- None
443
- }
444
-
445
399
fn handle_scopes ( & mut self , req : Request , args : ScopesArguments ) {
446
400
let state = self . state . lock ( ) . unwrap ( ) ;
447
401
let frame_id_to_variables_reference = & state. frame_id_to_variables_reference ;
@@ -566,7 +520,7 @@ impl<R: Read, W: Write> DapServer<R, W> {
566
520
}
567
521
}
568
522
569
- fn into_dap_frame ( frame : & FrameInfo , fallback_sources : & HashMap < String , i32 > ) -> StackFrame {
523
+ fn into_dap_frame ( frame : & FrameInfo , fallback_sources : & HashMap < String , String > ) -> StackFrame {
570
524
let id = frame. id ;
571
525
let source_name = frame. source_name . clone ( ) ;
572
526
let frame_name = frame. frame_name . clone ( ) ;
@@ -579,21 +533,18 @@ fn into_dap_frame(frame: &FrameInfo, fallback_sources: &HashMap<String, i32>) ->
579
533
// Retrieve either `path` or `source_reference` depending on the `source` type.
580
534
// In the `Text` case, a `source_reference` should always exist because we loaded
581
535
// the map with all possible text values in `start_debug()`.
582
- let ( path, source_reference) = match source {
583
- FrameSource :: File ( path) => ( Some ( path) , None ) ,
584
- FrameSource :: Text ( source) => {
585
- let source_reference = fallback_sources. get ( & source) . cloned ( ) . or_else ( || {
586
- log:: error!( "Failed to find a source reference for source text: '{source}'" ) ;
587
- None
588
- } ) ;
589
- ( None , source_reference)
590
- } ,
536
+ let path = match source {
537
+ FrameSource :: File ( path) => Some ( path) ,
538
+ FrameSource :: Text ( source) => fallback_sources. get ( & source) . cloned ( ) . or_else ( || {
539
+ log:: error!( "Failed to find a source reference for source text: '{source}'" ) ;
540
+ None
541
+ } ) ,
591
542
} ;
592
543
593
544
let src = Source {
594
545
name : Some ( source_name) ,
595
546
path,
596
- source_reference,
547
+ source_reference : None ,
597
548
presentation_hint : None ,
598
549
origin : None ,
599
550
sources : None ,
0 commit comments