1
1
import * as vscode from "vscode" ;
2
2
import { DebugProtocol } from "@vscode/debugprotocol" ;
3
- import { DebugSessionTracker } from "../debug-session-tracker" ;
3
+ import { DebugSessionTracker , LLDBModule } from "../debug-session-tracker" ;
4
4
5
5
export interface ModuleProperty {
6
6
key : string ;
@@ -9,19 +9,19 @@ export interface ModuleProperty {
9
9
10
10
/** Type to represent both Module and ModuleProperty since TreeDataProvider
11
11
* expects one concrete type */
12
- type TreeData = DebugProtocol . Module | ModuleProperty ;
12
+ type TreeData = LLDBModule | ModuleProperty ;
13
13
14
- function isModule ( type : TreeData ) : type is DebugProtocol . Module {
15
- return ( type as DebugProtocol . Module ) . id !== undefined ;
14
+ function isModule ( type : TreeData ) : type is LLDBModule {
15
+ return ( type as LLDBModule ) . id !== undefined ;
16
16
}
17
17
18
18
class ModuleItem extends vscode . TreeItem {
19
- constructor ( module : DebugProtocol . Module ) {
19
+ constructor ( module : LLDBModule ) {
20
20
super ( module . name , vscode . TreeItemCollapsibleState . Collapsed ) ;
21
21
this . description = module . symbolStatus ;
22
22
}
23
23
24
- static getProperties ( module : DebugProtocol . Module ) : ModuleProperty [ ] {
24
+ static getProperties ( module : LLDBModule ) : ModuleProperty [ ] {
25
25
// does not include the name and symbol status as it is show in the parent.
26
26
let children : ModuleProperty [ ] = [ ] ;
27
27
children . push ( { key : "id:" , value : module . id . toString ( ) } ) ;
@@ -41,6 +41,9 @@ class ModuleItem extends vscode.TreeItem {
41
41
if ( module . symbolFilePath ) {
42
42
children . push ( { key : "symbol filepath:" , value : module . symbolFilePath } ) ;
43
43
}
44
+ if ( module . debugInfoSize ) {
45
+ children . push ( { key : "debuginfo size: " , value : module . debugInfoSize } ) ;
46
+ }
44
47
return children ;
45
48
}
46
49
}
0 commit comments