@@ -66,52 +66,70 @@ class ExtensionDebugger implements WipDebugger {
6666 }
6767
6868 @override
69- Future disable () => throw UnimplementedError ( );
69+ Future disable () => sendCommand ( 'Debugger.disable' );
7070
7171 @override
72- Future enable () => throw UnimplementedError ( );
72+ Future enable () => sendCommand ( 'Debugger.enable' );
7373
7474 @override
75- Stream <T > eventStream <T >(String method, WipEventTransformer <T > transformer) =>
76- throw UnimplementedError ();
75+ Future <String > getScriptSource (String scriptId) async =>
76+ (await sendCommand ('Debugger.getScriptSource' ,
77+ params: {'scriptId' : scriptId}))
78+ .result['scriptSource' ] as String ;
7779
7880 @override
79- Future < String > getScriptSource ( String scriptId ) => throw UnimplementedError ( );
81+ Future pause ( ) => sendCommand ( 'Debugger.pause' );
8082
8183 @override
82- Stream < WipDomain > get onClosed => throw UnimplementedError ( );
84+ Future resume () => sendCommand ( 'Debugger.resume' );
8385
8486 @override
85- Stream <GlobalObjectClearedEvent > get onGlobalObjectCleared =>
86- throw UnimplementedError ();
87+ Future setPauseOnExceptions (PauseState state) =>
88+ sendCommand ('Debugger.setPauseOnExceptions' ,
89+ params: {'state' : _pauseStateToString (state)});
8790
8891 @override
89- Stream < DebuggerPausedEvent > get onPaused => throw UnimplementedError ( );
92+ Future stepInto () => sendCommand ( 'Debugger.stepInto' );
9093
9194 @override
92- Stream < DebuggerResumedEvent > get onResumed => throw UnimplementedError ( );
95+ Future stepOut () => sendCommand ( 'Debugger.stepOut' );
9396
9497 @override
95- Stream < ScriptParsedEvent > get onScriptParsed => throw UnimplementedError ( );
98+ Future stepOver () => sendCommand ( 'Debugger.stepOver' );
9699
97100 @override
98- Future pause () => throw UnimplementedError ();
101+ Stream <T > eventStream <T >(String method, WipEventTransformer <T > transformer) =>
102+ throw UnimplementedError ();
99103
100104 @override
101- Future resume () => throw UnimplementedError ();
105+ Stream < WipDomain > get onClosed => throw UnimplementedError ();
102106
103107 @override
104- Map <String , WipScript > get scripts => throw UnimplementedError ();
108+ Stream <GlobalObjectClearedEvent > get onGlobalObjectCleared =>
109+ throw UnimplementedError ();
105110
106111 @override
107- Future setPauseOnExceptions ( PauseState state) => throw UnimplementedError ();
112+ Stream < DebuggerPausedEvent > get onPaused => throw UnimplementedError ();
108113
109114 @override
110- Future stepInto () => throw UnimplementedError ();
115+ Stream < DebuggerResumedEvent > get onResumed => throw UnimplementedError ();
111116
112117 @override
113- Future stepOut () => throw UnimplementedError ();
118+ Stream < ScriptParsedEvent > get onScriptParsed => throw UnimplementedError ();
114119
115120 @override
116- Future stepOver () => throw UnimplementedError ();
121+ Map <String , WipScript > get scripts => throw UnimplementedError ();
122+
123+ String _pauseStateToString (PauseState state) {
124+ switch (state) {
125+ case PauseState .all:
126+ return 'all' ;
127+ case PauseState .none:
128+ return 'none' ;
129+ case PauseState .uncaught:
130+ return 'uncaught' ;
131+ default :
132+ throw ArgumentError ('unknown state: $state ' );
133+ }
134+ }
117135}
0 commit comments