Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: runtime/vm/service/service.idl

Issue 895093002: Add getClassList RPC (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/service.cc ('k') | tests/standalone/vmservice/field_script.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // 1 //
2 // TODO(turnidge): Finish writing an idl description of the service protocol. 2 // TODO(turnidge): Finish writing an idl description of the service protocol.
3 // 3 //
4 4
5 interface Service { 5 interface Service {
6 // Returns the list of breakpoints for an isolate. 6 // Returns the list of breakpoints for an isolate.
7 getBreakpoints(isolateId string) BreakpointList 7 getBreakpoints(isolateId string) BreakpointList
8 8
9 // Adds a breakpoint at the specified line. 9 // Adds a breakpoint at the specified line.
10 // 10 //
(...skipping 27 matching lines...) Expand all
38 // Returns a full cpu profile for an isolate. 38 // Returns a full cpu profile for an isolate.
39 // 39 //
40 // <code>tagSelector</code> is optional with default 'UserVM'. 40 // <code>tagSelector</code> is optional with default 'UserVM'.
41 getCpuProfile(isolateId string, tags TagSelector) CpuProfile 41 getCpuProfile(isolateId string, tags TagSelector) CpuProfile
42 42
43 43
44 // Returns a simple tag-based profile for an isolate. 44 // Returns a simple tag-based profile for an isolate.
45 getTagProfile(isolateId string) TagProfile 45 getTagProfile(isolateId string) TagProfile
46 46
47 // Returns an allocation profile for an isolate. 47 // Returns an allocation profile for an isolate.
48 // 48 //
49 // <code>reset</code> is optional and indicates whether allocation 49 // <code>reset</code> is optional and indicates whether allocation
50 // accumulators should be reset. 50 // accumulators should be reset.
51 // 51 //
52 // <code>gc</code> is optional and indicates whether a full 52 // <code>gc</code> is optional and indicates whether a full
53 getAllocationProfile(isolateId string, 53 getAllocationProfile(isolateId string,
54 reset bool, 54 reset bool,
55 gc GCOption) AllocationProfile 55 gc GCOption) AllocationProfile
56 56
57 // Returns the heap map for an isolate. 57 // Returns the heap map for an isolate.
58 getHeapMap(isolateId string) HeapMap 58 getHeapMap(isolateId string) HeapMap
59 59
60 // Returns how many bytes are retained by some target Class or Instance. 60 // Returns how many bytes are retained by some target Class or Instance.
61 getRetainedSize(isolateId string, targetId string) InstanceRef 61 getRetainedSize(isolateId string, targetId string) InstanceRef
62 62
63 // Returns a path demonstrating why an object is retained in memory. 63 // Returns a path demonstrating why an object is retained in memory.
64 // 64 //
65 // TODO(turnidge): Make limit an int instead of a string. 65 // TODO(turnidge): Make limit an int instead of a string.
66 getRetainingPath(isolateId string, 66 getRetainingPath(isolateId string,
67 targetId string, 67 targetId string,
68 limit int) RetainingPath 68 limit int) RetainingPath
69 69
70 // Returns a collection of inbound references to some object. 70 // Returns a collection of inbound references to some object.
71 // 71 //
72 // TODO(turnidge): Make limit an int instead of a string. 72 // TODO(turnidge): Make limit an int instead of a string.
73 getInboundReferences(isolateId string, 73 getInboundReferences(isolateId string,
74 targetId string, 74 targetId string,
75 limit int) InboundReferences 75 limit int) InboundReferences
76
77 getClassList(isolateId string) ClassList
76 } 78 }
77 79
78 80
79 // Every top level response returned by the Service interface extends 81 // Every top level response returned by the Service interface extends
80 // <code>Response</code>. This allows the client to distinguish 82 // <code>Response</code>. This allows the client to distinguish
81 // between different kinds of responses by using the <code>type</code> 83 // between different kinds of responses by using the <code>type</code>
82 // property. 84 // property.
83 struct Response { 85 struct Response {
84 // Every response returned by the VM Service has the 86 // Every response returned by the VM Service has the
85 // <code>type</code> property. This allows the client distinguish 87 // <code>type</code> property. This allows the client distinguish
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 id string 127 id string
126 } 128 }
127 129
128 130
129 // A <code>CodeRef</code> encodes a reference to a <code>Code</code> object. 131 // A <code>CodeRef</code> encodes a reference to a <code>Code</code> object.
130 struct CodeRef extends ObjectRef { 132 struct CodeRef extends ObjectRef {
131 placeholder int 133 placeholder int
132 } 134 }
133 135
134 136
137 struct ClassRef extends ObjectRef {
138 placeholder int
139 }
140
141
135 // A <code>FunctionRef</code> encodes a reference to a <code>Function</code> obj ect. 142 // A <code>FunctionRef</code> encodes a reference to a <code>Function</code> obj ect.
136 struct FunctionRef extends ObjectRef { 143 struct FunctionRef extends ObjectRef {
137 placeholder int 144 placeholder int
138 } 145 }
139 146
140 147
141 // A <code>FieldRef</code> encodes a reference to a <code>Field</code> object. 148 // A <code>FieldRef</code> encodes a reference to a <code>Field</code> object.
142 struct FieldRef extends ObjectRef { 149 struct FieldRef extends ObjectRef {
143 placeholder int 150 placeholder int
144 } 151 }
145 152
146 153
147 // A <code>InstanceRef</code> encodes a reference to a <code>Instance</code> obj ect. 154 // A <code>InstanceRef</code> encodes a reference to a <code>Instance</code> obj ect.
148 struct InstanceRef extends ObjectRef { 155 struct InstanceRef extends ObjectRef {
149 placeholder int 156 placeholder int
150 } 157 }
151 158
152 159
153 // A <code>ScriptRef</code> encodes a reference to a <code>Script</code> object. 160 // A <code>ScriptRef</code> encodes a reference to a <code>Script</code> object.
154 struct ScriptRef extends ObjectRef { 161 struct ScriptRef extends ObjectRef {
155 placeholder int 162 placeholder int
156 } 163 }
157 164
158 165
166 struct Class extends Object {
167 placeholder int
168 }
169
170
159 // A <code>Location</code> encodes a location withing a dart script. 171 // A <code>Location</code> encodes a location withing a dart script.
160 // 172 //
161 // TODO(turnidge): Should this really be broken out as its own type? 173 // TODO(turnidge): Should this really be broken out as its own type?
162 // If so, we should use it more consistently in the api. For example, 174 // If so, we should use it more consistently in the api. For example,
163 // in Frame. 175 // in Frame.
164 struct Location { 176 struct Location {
165 script ScriptRef 177 script ScriptRef
166 tokenPos int 178 tokenPos int
167 } 179 }
168 180
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 277
266 278
267 // TODO(koda): slot can actually be a string, and integer or a 279 // TODO(koda): slot can actually be a string, and integer or a
268 // FieldRef. Fix this to be consistent with RetainingPathElement. 280 // FieldRef. Fix this to be consistent with RetainingPathElement.
269 struct InboundReference { 281 struct InboundReference {
270 source InstanceRef 282 source InstanceRef
271 slot int 283 slot int
272 } 284 }
273 285
274 286
287 struct ClassList {
288 classes []Class
turnidge 2015/02/03 17:59:09 Class -> ClassRef
Cutch 2015/02/03 17:59:56 Done.
289 }
290
291
275 // A <code>GCOption</code> is used to indicate which form of garbage 292 // A <code>GCOption</code> is used to indicate which form of garbage
276 // collection is requested. 293 // collection is requested.
277 enum GCOption { 294 enum GCOption {
278 full 295 full
279 } 296 }
280 297
281 // A <code>StepOption</code> is used to indicate which form of 298 // A <code>StepOption</code> is used to indicate which form of
282 // single-stepping is requested. 299 // single-stepping is requested.
283 enum StepOption { 300 enum StepOption {
284 into 301 into
285 over 302 over
286 out 303 out
287 } 304 }
288 305
289 // A <code>TagSelector</code> is used to indicate which sets of tags 306 // A <code>TagSelector</code> is used to indicate which sets of tags
290 // should take precedence in a cpu profile. 307 // should take precedence in a cpu profile.
291 enum TagSelector { 308 enum TagSelector {
292 UserVM 309 UserVM
293 UserOnly 310 UserOnly
294 VMUser 311 VMUser
295 VMOnly 312 VMOnly
296 None 313 None
297 } 314 }
298 315
OLDNEW
« no previous file with comments | « runtime/vm/service.cc ('k') | tests/standalone/vmservice/field_script.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698