| Index: runtime/vm/debugger.h
|
| diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h
|
| index 396e8b247617c4715ae62f179f20a1c5d3813f29..11358f5a60febb91b9d53a573b2adfe5e62e9e4d 100644
|
| --- a/runtime/vm/debugger.h
|
| +++ b/runtime/vm/debugger.h
|
| @@ -99,10 +99,13 @@ class BreakpointLocation {
|
| // Create a new unresolved breakpoint.
|
| BreakpointLocation(const Script& script,
|
| intptr_t token_pos,
|
| - intptr_t end_token_pos);
|
| + intptr_t end_token_pos,
|
| + intptr_t requested_line_number,
|
| + intptr_t requested_column_number);
|
| // Create a new latent breakpoint.
|
| BreakpointLocation(const String& url,
|
| - intptr_t line_number);
|
| + intptr_t requested_line_number,
|
| + intptr_t requested_column_number);
|
|
|
| ~BreakpointLocation();
|
|
|
| @@ -112,9 +115,16 @@ class BreakpointLocation {
|
|
|
| RawScript* script() const { return script_; }
|
| RawString* url() const { return url_; }
|
| +
|
| + intptr_t requested_line_number() const { return requested_line_number_; }
|
| + intptr_t requested_column_number() const { return requested_column_number_; }
|
| +
|
| intptr_t LineNumber();
|
| + intptr_t ColumnNumber();
|
|
|
| - void GetCodeLocation(Library* lib, Script* script, intptr_t* token_pos);
|
| + void GetCodeLocation(Library* lib,
|
| + Script* script,
|
| + intptr_t* token_pos) const;
|
|
|
| Breakpoint* AddRepeated(Debugger* dbg);
|
| Breakpoint* AddSingleShot(Debugger* dbg);
|
| @@ -144,10 +154,13 @@ class BreakpointLocation {
|
| bool is_resolved_;
|
| BreakpointLocation* next_;
|
| Breakpoint* conditions_;
|
| + intptr_t requested_line_number_;
|
| + intptr_t requested_column_number_;
|
|
|
| // Valid for resolved breakpoints:
|
| RawFunction* function_;
|
| intptr_t line_number_;
|
| + intptr_t column_number_;
|
|
|
| friend class Debugger;
|
| DISALLOW_COPY_AND_ASSIGN(BreakpointLocation);
|
| @@ -460,10 +473,14 @@ class Debugger {
|
| // TODO(turnidge): script_url may no longer be specific enough.
|
| Breakpoint* SetBreakpointAtLine(const String& script_url,
|
| intptr_t line_number);
|
| + Breakpoint* SetBreakpointAtLineCol(const String& script_url,
|
| + intptr_t line_number,
|
| + intptr_t column_number);
|
| RawError* OneTimeBreakAtEntry(const Function& target_function);
|
|
|
| - BreakpointLocation* BreakpointLocationAtLine(const String& script_url,
|
| - intptr_t line_number);
|
| + BreakpointLocation* BreakpointLocationAtLineCol(const String& script_url,
|
| + intptr_t line_number,
|
| + intptr_t column_number);
|
|
|
|
|
| void RemoveBreakpoint(intptr_t bp_id);
|
| @@ -575,18 +592,24 @@ class Debugger {
|
| intptr_t token_pos);
|
| intptr_t ResolveBreakpointPos(const Function& func,
|
| intptr_t requested_token_pos,
|
| - intptr_t last_token_pos);
|
| + intptr_t last_token_pos,
|
| + intptr_t requested_column);
|
| void DeoptimizeWorld();
|
| BreakpointLocation* SetBreakpoint(const Script& script,
|
| intptr_t token_pos,
|
| - intptr_t last_token_pos);
|
| + intptr_t last_token_pos,
|
| + intptr_t requested_line,
|
| + intptr_t requested_column);
|
| void RemoveInternalBreakpoints();
|
| void UnlinkCodeBreakpoints(BreakpointLocation* bpt_location);
|
| - BreakpointLocation* GetLatentBreakpoint(const String& url, intptr_t line);
|
| + BreakpointLocation* GetLatentBreakpoint(const String& url,
|
| + intptr_t line,
|
| + intptr_t column);
|
| void RegisterBreakpointLocation(BreakpointLocation* bpt);
|
| void RegisterCodeBreakpoint(CodeBreakpoint* bpt);
|
| BreakpointLocation* GetBreakpointLocation(const Script& script,
|
| - intptr_t token_pos);
|
| + intptr_t token_pos,
|
| + intptr_t requested_column);
|
| void MakeCodeBreakpointAt(const Function& func,
|
| BreakpointLocation* bpt);
|
| // Returns NULL if no breakpoint exists for the given address.
|
|
|