This repository was archived by the owner on Feb 10, 2025. It is now read-only.
  
  
  
  
    
    
    
      
    
  
  
    
File tree Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Expand file tree Collapse file tree 2 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -48,7 +48,7 @@ final _v8JsUrlLocation = RegExp(r'^(.*?):(\d+)(?::(\d+))?$|native$');
4848// To avoid having multiple groups for the same part of the frame, this regex 
4949// matches unmatched parentheses after the member name. 
5050final  _v8WasmFrame =  RegExp (r'^\s*at (?:(?<member>.+) )?' 
51-     r'(?:\(?(?:(?<uri>wasm: \S+):wasm-function\[(?<index>\d+)\]' 
51+     r'(?:\(?(?:(?<uri>\S+):wasm-function\[(?<index>\d+)\]' 
5252    r'\:0x(?<offset>[0-9a-fA-F]+))\)?)$' );
5353
5454// eval as function (https://example.com/stuff.dart.js:560:28), efn:3:28 
Original file line number Diff line number Diff line change @@ -651,6 +651,15 @@ baz@https://pub.dev/buz.js:56355:55
651651    expect (frame.member, 'main tear-off trampoline' );
652652  });
653653
654+   test ('parses a V8 Wasm frame with a name with colons and parens' , () {
655+     var  frame =  Frame .parseV8 ('   at a::b::c() ' 
656+         '(https://a.b.com/x/y/z.wasm:wasm-function[66334]:0x12c28ad)' );
657+     expect (frame.uri, Uri .parse ('https://a.b.com/x/y/z.wasm' ));
658+     expect (frame.line, 1 );
659+     expect (frame.column, 0x12c28ad  +  1 );
660+     expect (frame.member, 'a::b::c()' );
661+   });
662+ 
654663  test ('parses a V8 Wasm frame without a name' , () {
655664    var  frame = 
656665        Frame .parseV8 ('    at wasm://wasm/0006d966:wasm-function[119]:0xbb13' );
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments