Index: runtime/vm/debugger.h |
diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h |
index 396e8b247617c4715ae62f179f20a1c5d3813f29..2c7633bdbf9a89583d1e510b00c7dbfc51008e52 100644 |
--- a/runtime/vm/debugger.h |
+++ b/runtime/vm/debugger.h |
@@ -99,10 +99,12 @@ 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_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,7 +114,12 @@ class BreakpointLocation { |
RawScript* script() const { return script_; } |
RawString* url() const { return url_; } |
+ |
+ intptr_t requested_line_number() { return requested_line_number_; } |
+ intptr_t requested_column_number() { return requested_column_number_; } |
+ |
intptr_t LineNumber(); |
+ intptr_t ColumnNumber(); |
void GetCodeLocation(Library* lib, Script* script, intptr_t* token_pos); |
@@ -144,10 +151,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 +470,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 +589,23 @@ 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_col); |
void DeoptimizeWorld(); |
BreakpointLocation* SetBreakpoint(const Script& script, |
intptr_t token_pos, |
- intptr_t last_token_pos); |
+ intptr_t last_token_pos, |
+ intptr_t requested_col); |
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. |