| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef RUNTIME_INCLUDE_DART_TOOLS_API_H_ | 5 #ifndef RUNTIME_INCLUDE_DART_TOOLS_API_H_ |
| 6 #define RUNTIME_INCLUDE_DART_TOOLS_API_H_ | 6 #define RUNTIME_INCLUDE_DART_TOOLS_API_H_ |
| 7 | 7 |
| 8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
| 9 | 9 |
| 10 /** \mainpage Dart Tools Embedding API Reference | 10 /** \mainpage Dart Tools Embedding API Reference |
| 11 * | 11 * |
| 12 * This reference describes the Dart embedding API for tools. Tools include | 12 * This reference describes the Dart embedding API for tools. Tools include |
| 13 * a debugger, service protocol, and timeline. | 13 * a debugger, service protocol, and timeline. |
| 14 * | 14 * |
| 15 * NOTE: The APIs described in this file are unstable and subject to change. | 15 * NOTE: The APIs described in this file are unstable and subject to change. |
| 16 * | 16 * |
| 17 * This reference is generated from the header include/dart_tools_api.h. | 17 * This reference is generated from the header include/dart_tools_api.h. |
| 18 */ | 18 */ |
| 19 | 19 |
| 20 | 20 |
| 21 /* | 21 /* |
| 22 * ======== | 22 * ======== |
| 23 * Debugger | 23 * Debugger |
| 24 * ======== | 24 * ======== |
| 25 */ | 25 */ |
| 26 typedef struct _Dart_Breakpoint* Dart_Breakpoint; | 26 typedef struct _Dart_Breakpoint* Dart_Breakpoint; |
| 27 | 27 |
| 28 typedef struct _Dart_StackTrace* Dart_StackTrace; | 28 typedef struct _Dart_StackTrace* Dart_StackTrace; |
| 29 | 29 |
| 30 typedef struct _Dart_ActivationFrame* Dart_ActivationFrame; | 30 typedef struct _Dart_ActivationFrame* Dart_ActivationFrame; |
| 31 | 31 |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 | 148 |
| 149 /** | 149 /** |
| 150 * Returns a string containing the source code of the given script | 150 * Returns a string containing the source code of the given script |
| 151 * in the given library. | 151 * in the given library. |
| 152 * | 152 * |
| 153 * Requires there to be a current isolate. | 153 * Requires there to be a current isolate. |
| 154 * | 154 * |
| 155 * \return A handle to string containing the source text if no error | 155 * \return A handle to string containing the source text if no error |
| 156 * occurs. | 156 * occurs. |
| 157 */ | 157 */ |
| 158 DART_EXPORT Dart_Handle Dart_ScriptGetSource( | 158 DART_EXPORT Dart_Handle Dart_ScriptGetSource(intptr_t library_id, |
| 159 intptr_t library_id, | 159 Dart_Handle script_url_in); |
| 160 Dart_Handle script_url_in); | |
| 161 | 160 |
| 162 | 161 |
| 163 /** | 162 /** |
| 164 * Returns an array containing line number and token offset info | 163 * Returns an array containing line number and token offset info |
| 165 * for the given script. | 164 * for the given script. |
| 166 * | 165 * |
| 167 * Returns an array of numbers. Null values indicate the beginning of | 166 * Returns an array of numbers. Null values indicate the beginning of |
| 168 * a new line. The first number after null is the line number. | 167 * a new line. The first number after null is the line number. |
| 169 * The line number is followed by pairs of numbers, with the first value | 168 * The line number is followed by pairs of numbers, with the first value |
| 170 * being the "token offset" and the second value being the column number | 169 * being the "token offset" and the second value being the column number |
| 171 * of the token. | 170 * of the token. |
| 172 * The "token offset" is a value that is used to indicate a location | 171 * The "token offset" is a value that is used to indicate a location |
| 173 * in code, similarly to a "PC" address. | 172 * in code, similarly to a "PC" address. |
| 174 * Source lines with no tokens are omitted. | 173 * Source lines with no tokens are omitted. |
| 175 * | 174 * |
| 176 * Requires there to be a current isolate. | 175 * Requires there to be a current isolate. |
| 177 * | 176 * |
| 178 * \return A handle to an array or an error object. | 177 * \return A handle to an array or an error object. |
| 179 */ | 178 */ |
| 180 DART_EXPORT Dart_Handle Dart_ScriptGetTokenInfo( | 179 DART_EXPORT Dart_Handle Dart_ScriptGetTokenInfo(intptr_t library_id, |
| 181 intptr_t library_id, | 180 Dart_Handle script_url_in); |
| 182 Dart_Handle script_url_in); | |
| 183 | 181 |
| 184 | 182 |
| 185 /** | 183 /** |
| 186 * Returns a string containing a generated source code of the given script | 184 * Returns a string containing a generated source code of the given script |
| 187 * in the given library. This is essentially used to pretty print dart code | 185 * in the given library. This is essentially used to pretty print dart code |
| 188 * generated from any tool (e.g: dart2dart). | 186 * generated from any tool (e.g: dart2dart). |
| 189 * | 187 * |
| 190 * Requires there to be a current isolate. | 188 * Requires there to be a current isolate. |
| 191 * | 189 * |
| 192 * \return A handle to string containing the source text if no error | 190 * \return A handle to string containing the source text if no error |
| 193 * occurs. | 191 * occurs. |
| 194 */ | 192 */ |
| 195 DART_EXPORT Dart_Handle Dart_GenerateScriptSource(Dart_Handle library_url_in, | 193 DART_EXPORT Dart_Handle Dart_GenerateScriptSource(Dart_Handle library_url_in, |
| 196 Dart_Handle script_url_in); | 194 Dart_Handle script_url_in); |
| 197 | 195 |
| 198 | 196 |
| 199 /** | 197 /** |
| 200 * Sets a breakpoint at line \line_number in \script_url, or the closest | 198 * Sets a breakpoint at line \line_number in \script_url, or the closest |
| 201 * following line (within the same function) where a breakpoint can be set. | 199 * following line (within the same function) where a breakpoint can be set. |
| 202 * | 200 * |
| 203 * Requires there to be a current isolate. | 201 * Requires there to be a current isolate. |
| 204 * | 202 * |
| 205 * \return A handle containing the breakpoint id, which is an integer | 203 * \return A handle containing the breakpoint id, which is an integer |
| 206 * value, or an error object if a breakpoint could not be set. | 204 * value, or an error object if a breakpoint could not be set. |
| 207 */ | 205 */ |
| 208 DART_EXPORT Dart_Handle Dart_SetBreakpoint( | 206 DART_EXPORT Dart_Handle Dart_SetBreakpoint(Dart_Handle script_url, |
| 209 Dart_Handle script_url, | 207 intptr_t line_number); |
| 210 intptr_t line_number); | |
| 211 | 208 |
| 212 /** | 209 /** |
| 213 * Deletes the breakpoint with the given id \pb_id. | 210 * Deletes the breakpoint with the given id \pb_id. |
| 214 * | 211 * |
| 215 * Requires there to be a current isolate. | 212 * Requires there to be a current isolate. |
| 216 * | 213 * |
| 217 * \return A handle to the True object if no error occurs. | 214 * \return A handle to the True object if no error occurs. |
| 218 */ | 215 */ |
| 219 DART_EXPORT Dart_Handle Dart_RemoveBreakpoint(intptr_t bp_id); | 216 DART_EXPORT Dart_Handle Dart_RemoveBreakpoint(intptr_t bp_id); |
| 220 | 217 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 244 /** | 241 /** |
| 245 * Sets a one-time breakpoint at the entry of the given function. | 242 * Sets a one-time breakpoint at the entry of the given function. |
| 246 * If class_name is the empty string, looks for a library function | 243 * If class_name is the empty string, looks for a library function |
| 247 * with the given name. | 244 * with the given name. |
| 248 * | 245 * |
| 249 * Requires there to be a current isolate. | 246 * Requires there to be a current isolate. |
| 250 * | 247 * |
| 251 * \return A handle containing the breakpoint id, which is an integer | 248 * \return A handle containing the breakpoint id, which is an integer |
| 252 * value, or an error object if a breakpoint could not be set. | 249 * value, or an error object if a breakpoint could not be set. |
| 253 */ | 250 */ |
| 254 DART_EXPORT Dart_Handle Dart_SetBreakpointAtEntry( | 251 DART_EXPORT Dart_Handle Dart_SetBreakpointAtEntry(Dart_Handle library, |
| 255 Dart_Handle library, | 252 Dart_Handle class_name, |
| 256 Dart_Handle class_name, | 253 Dart_Handle function_name); |
| 257 Dart_Handle function_name); | |
| 258 | 254 |
| 259 | 255 |
| 260 /** | 256 /** |
| 261 * Sets a breakpoint at the entry of the given function. If class_name | 257 * Sets a breakpoint at the entry of the given function. If class_name |
| 262 * is the empty string, looks for a library function with the given | 258 * is the empty string, looks for a library function with the given |
| 263 * name. | 259 * name. |
| 264 * | 260 * |
| 265 * Requires there to be a current isolate. | 261 * Requires there to be a current isolate. |
| 266 * | 262 * |
| 267 * \return A handle to the True object if no error occurs. | 263 * \return A handle to the True object if no error occurs. |
| 268 */ | 264 */ |
| 269 DART_EXPORT Dart_Handle Dart_OneTimeBreakAtEntry( | 265 DART_EXPORT Dart_Handle Dart_OneTimeBreakAtEntry(Dart_Handle library, |
| 270 Dart_Handle library, | 266 Dart_Handle class_name, |
| 271 Dart_Handle class_name, | 267 Dart_Handle function_name); |
| 272 Dart_Handle function_name); | |
| 273 | 268 |
| 274 | 269 |
| 275 /** | 270 /** |
| 276 * Can be called from the breakpoint handler. Sets the debugger to | 271 * Can be called from the breakpoint handler. Sets the debugger to |
| 277 * single step mode. | 272 * single step mode. |
| 278 * | 273 * |
| 279 * Requires there to be a current isolate. | 274 * Requires there to be a current isolate. |
| 280 */ | 275 */ |
| 281 DART_EXPORT Dart_Handle Dart_SetStepOver(); | 276 DART_EXPORT Dart_Handle Dart_SetStepOver(); |
| 282 | 277 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 298 */ | 293 */ |
| 299 DART_EXPORT Dart_Handle Dart_SetStepOut(); | 294 DART_EXPORT Dart_Handle Dart_SetStepOut(); |
| 300 | 295 |
| 301 | 296 |
| 302 /** | 297 /** |
| 303 * Installs a handler callback function that gets called by the VM | 298 * Installs a handler callback function that gets called by the VM |
| 304 * when a breakpoint location has been reached or when stepping. | 299 * when a breakpoint location has been reached or when stepping. |
| 305 * | 300 * |
| 306 * Requires there to be a current isolate. | 301 * Requires there to be a current isolate. |
| 307 */ | 302 */ |
| 308 DART_EXPORT void Dart_SetPausedEventHandler( | 303 DART_EXPORT void Dart_SetPausedEventHandler(Dart_PausedEventHandler handler); |
| 309 Dart_PausedEventHandler handler); | |
| 310 | 304 |
| 311 | 305 |
| 312 /** | 306 /** |
| 313 * Installs a callback function that gets called by the VM when | 307 * Installs a callback function that gets called by the VM when |
| 314 * a breakpoint has been resolved to an actual url and line number. | 308 * a breakpoint has been resolved to an actual url and line number. |
| 315 * | 309 * |
| 316 * Requires there to be a current isolate. | 310 * Requires there to be a current isolate. |
| 317 */ | 311 */ |
| 318 DART_EXPORT void Dart_SetBreakpointResolvedHandler( | 312 DART_EXPORT void Dart_SetBreakpointResolvedHandler( |
| 319 Dart_BreakpointResolvedHandler handler); | 313 Dart_BreakpointResolvedHandler handler); |
| 320 | 314 |
| 321 /** | 315 /** |
| 322 * Installs a callback function that gets called by the VM when | 316 * Installs a callback function that gets called by the VM when |
| 323 * an exception has been thrown. | 317 * an exception has been thrown. |
| 324 * | 318 * |
| 325 * Requires there to be a current isolate. | 319 * Requires there to be a current isolate. |
| 326 */ | 320 */ |
| 327 DART_EXPORT void Dart_SetExceptionThrownHandler( | 321 DART_EXPORT void Dart_SetExceptionThrownHandler( |
| 328 Dart_ExceptionThrownHandler handler); | 322 Dart_ExceptionThrownHandler handler); |
| 329 | 323 |
| 330 /** | 324 /** |
| 331 * Installs a callback function that gets called by the VM when | 325 * Installs a callback function that gets called by the VM when |
| 332 * an isolate event happens, e.g: | 326 * an isolate event happens, e.g: |
| 333 * - creation of a new isolate | 327 * - creation of a new isolate |
| 334 * - shutdown of an isolate | 328 * - shutdown of an isolate |
| 335 * - interruption of an isolate | 329 * - interruption of an isolate |
| 336 */ | 330 */ |
| 337 DART_EXPORT void Dart_SetIsolateEventHandler(Dart_IsolateEventHandler handler); | 331 DART_EXPORT void Dart_SetIsolateEventHandler(Dart_IsolateEventHandler handler); |
| 338 | 332 |
| 339 // On which exceptions to pause. | 333 // On which exceptions to pause. |
| 340 typedef enum { | 334 typedef enum { |
| 341 kNoPauseOnExceptions = 1, | 335 kNoPauseOnExceptions = 1, |
| 342 kPauseOnUnhandledExceptions, | 336 kPauseOnUnhandledExceptions, |
| 343 kPauseOnAllExceptions, | 337 kPauseOnAllExceptions, |
| 344 kInvalidExceptionPauseInfo | 338 kInvalidExceptionPauseInfo |
| 345 } Dart_ExceptionPauseInfo; | 339 } Dart_ExceptionPauseInfo; |
| 346 | 340 |
| 347 /** | 341 /** |
| 348 * Define on which exceptions the debugger pauses. | 342 * Define on which exceptions the debugger pauses. |
| 349 * | 343 * |
| 350 * Requires there to be a current isolate. | 344 * Requires there to be a current isolate. |
| 351 */ | 345 */ |
| 352 DART_EXPORT Dart_Handle Dart_SetExceptionPauseInfo( | 346 DART_EXPORT Dart_Handle |
| 353 Dart_ExceptionPauseInfo pause_info); | 347 Dart_SetExceptionPauseInfo(Dart_ExceptionPauseInfo pause_info); |
| 354 | 348 |
| 355 | 349 |
| 356 /** | 350 /** |
| 357 * Returns on which exceptions the debugger pauses. | 351 * Returns on which exceptions the debugger pauses. |
| 358 * | 352 * |
| 359 * Requires there to be a current isolate. | 353 * Requires there to be a current isolate. |
| 360 */ | 354 */ |
| 361 DART_EXPORT Dart_ExceptionPauseInfo Dart_GetExceptionPauseInfo(); | 355 DART_EXPORT Dart_ExceptionPauseInfo Dart_GetExceptionPauseInfo(); |
| 362 | 356 |
| 363 /** | 357 /** |
| (...skipping 19 matching lines...) Expand all Loading... |
| 383 | 377 |
| 384 | 378 |
| 385 /** | 379 /** |
| 386 * Returns in \length the number of activation frames in the given | 380 * Returns in \length the number of activation frames in the given |
| 387 * stack trace. | 381 * stack trace. |
| 388 * | 382 * |
| 389 * Requires there to be a current isolate. | 383 * Requires there to be a current isolate. |
| 390 * | 384 * |
| 391 * \return A handle to the True object if no error occurs. | 385 * \return A handle to the True object if no error occurs. |
| 392 */ | 386 */ |
| 393 DART_EXPORT Dart_Handle Dart_StackTraceLength( | 387 DART_EXPORT Dart_Handle Dart_StackTraceLength(Dart_StackTrace trace, |
| 394 Dart_StackTrace trace, | 388 intptr_t* length); |
| 395 intptr_t* length); | |
| 396 | 389 |
| 397 | 390 |
| 398 /** | 391 /** |
| 399 * Returns in \frame the activation frame with index \frame_index. | 392 * Returns in \frame the activation frame with index \frame_index. |
| 400 * The activation frame at the top of stack has index 0. | 393 * The activation frame at the top of stack has index 0. |
| 401 * | 394 * |
| 402 * Requires there to be a current isolate. | 395 * Requires there to be a current isolate. |
| 403 * | 396 * |
| 404 * \return A handle to the True object if no error occurs. | 397 * \return A handle to the True object if no error occurs. |
| 405 */ | 398 */ |
| 406 DART_EXPORT Dart_Handle Dart_GetActivationFrame( | 399 DART_EXPORT Dart_Handle Dart_GetActivationFrame(Dart_StackTrace trace, |
| 407 Dart_StackTrace trace, | 400 int frame_index, |
| 408 int frame_index, | 401 Dart_ActivationFrame* frame); |
| 409 Dart_ActivationFrame* frame); | |
| 410 | 402 |
| 411 | 403 |
| 412 /** | 404 /** |
| 413 * Returns information about the given activation frame. | 405 * Returns information about the given activation frame. |
| 414 * \function_name receives a string handle with the qualified | 406 * \function_name receives a string handle with the qualified |
| 415 * function name. | 407 * function name. |
| 416 * \script_url receives a string handle with the url of the | 408 * \script_url receives a string handle with the url of the |
| 417 * source script that contains the frame's function. | 409 * source script that contains the frame's function. |
| 418 * \line_number receives the line number in the script. | 410 * \line_number receives the line number in the script. |
| 419 * \col_number receives the column number in the script, or -1 if column | 411 * \col_number receives the column number in the script, or -1 if column |
| 420 * information is not available | 412 * information is not available |
| 421 * | 413 * |
| 422 * Any or all of the out parameters above may be NULL. | 414 * Any or all of the out parameters above may be NULL. |
| 423 * | 415 * |
| 424 * Requires there to be a current isolate. | 416 * Requires there to be a current isolate. |
| 425 * | 417 * |
| 426 * \return A valid handle if no error occurs during the operation. | 418 * \return A valid handle if no error occurs during the operation. |
| 427 */ | 419 */ |
| 428 DART_EXPORT Dart_Handle Dart_ActivationFrameInfo( | 420 DART_EXPORT Dart_Handle |
| 429 Dart_ActivationFrame activation_frame, | 421 Dart_ActivationFrameInfo(Dart_ActivationFrame activation_frame, |
| 430 Dart_Handle* function_name, | 422 Dart_Handle* function_name, |
| 431 Dart_Handle* script_url, | 423 Dart_Handle* script_url, |
| 432 intptr_t* line_number, | 424 intptr_t* line_number, |
| 433 intptr_t* column_number); | 425 intptr_t* column_number); |
| 434 | 426 |
| 435 | 427 |
| 436 /** | 428 /** |
| 437 * Returns code location of the given activation frame. | 429 * Returns code location of the given activation frame. |
| 438 * | 430 * |
| 439 * \function_name receives a string handle with the qualified | 431 * \function_name receives a string handle with the qualified |
| 440 * function name. | 432 * function name. |
| 441 * \function receives a handle to the function. | 433 * \function receives a handle to the function. |
| 442 * \location.script_url receives a string handle with the url of | 434 * \location.script_url receives a string handle with the url of |
| 443 * the source script that contains the frame's function. | 435 * the source script that contains the frame's function. |
| 444 * Receives a null handle if there is no textual location | 436 * Receives a null handle if there is no textual location |
| 445 * that corresponds to the frame, e.g. for implicitly | 437 * that corresponds to the frame, e.g. for implicitly |
| 446 * generated constructors. | 438 * generated constructors. |
| 447 * \location.library_id receives the id of the library in which the | 439 * \location.library_id receives the id of the library in which the |
| 448 * function in this frame is defined. | 440 * function in this frame is defined. |
| 449 * \location.token_pos receives the token position in the script. | 441 * \location.token_pos receives the token position in the script. |
| 450 * | 442 * |
| 451 * Any of the out parameters above may be NULL. | 443 * Any of the out parameters above may be NULL. |
| 452 * | 444 * |
| 453 * Requires there to be a current isolate. | 445 * Requires there to be a current isolate. |
| 454 * | 446 * |
| 455 * \return A handle to the True object if no error occurs. | 447 * \return A handle to the True object if no error occurs. |
| 456 * A handle to the False object if there is no text | 448 * A handle to the False object if there is no text |
| 457 * position for the frame. | 449 * position for the frame. |
| 458 */ | 450 */ |
| 459 DART_EXPORT Dart_Handle Dart_ActivationFrameGetLocation( | 451 DART_EXPORT Dart_Handle |
| 460 Dart_ActivationFrame activation_frame, | 452 Dart_ActivationFrameGetLocation(Dart_ActivationFrame activation_frame, |
| 461 Dart_Handle* function_name, | 453 Dart_Handle* function_name, |
| 462 Dart_Handle* function, | 454 Dart_Handle* function, |
| 463 Dart_CodeLocation* location); | 455 Dart_CodeLocation* location); |
| 464 | 456 |
| 465 /** | 457 /** |
| 466 * Returns frame pointer of the given activation frame. | 458 * Returns frame pointer of the given activation frame. |
| 467 * | 459 * |
| 468 * \frame_pointer receives the frame pointer for the frame. | 460 * \frame_pointer receives the frame pointer for the frame. |
| 469 * | 461 * |
| 470 * Requires there to be a current isolate. | 462 * Requires there to be a current isolate. |
| 471 * | 463 * |
| 472 * \return A handle to the True object if no error occurs. | 464 * \return A handle to the True object if no error occurs. |
| 473 */ | 465 */ |
| 474 DART_EXPORT Dart_Handle Dart_ActivationFrameGetFramePointer( | 466 DART_EXPORT Dart_Handle |
| 475 Dart_ActivationFrame activation_frame, | 467 Dart_ActivationFrameGetFramePointer(Dart_ActivationFrame activation_frame, |
| 476 uintptr_t* frame_pointer); | 468 uintptr_t* frame_pointer); |
| 477 | 469 |
| 478 /** | 470 /** |
| 479 * Returns an array containing all the local variable names and values of | 471 * Returns an array containing all the local variable names and values of |
| 480 * the given \activation_frame. | 472 * the given \activation_frame. |
| 481 * | 473 * |
| 482 * Requires there to be a current isolate. | 474 * Requires there to be a current isolate. |
| 483 * | 475 * |
| 484 * \return A handle to an array containing variable names and | 476 * \return A handle to an array containing variable names and |
| 485 * corresponding values. The array is empty if the activation frame has | 477 * corresponding values. The array is empty if the activation frame has |
| 486 * no variables. If non-empty, variable names are at array offsets 2*n, | 478 * no variables. If non-empty, variable names are at array offsets 2*n, |
| 487 * values at offset 2*n+1. | 479 * values at offset 2*n+1. |
| 488 */ | 480 */ |
| 489 DART_EXPORT Dart_Handle Dart_GetLocalVariables( | 481 DART_EXPORT Dart_Handle |
| 490 Dart_ActivationFrame activation_frame); | 482 Dart_GetLocalVariables(Dart_ActivationFrame activation_frame); |
| 491 | 483 |
| 492 | 484 |
| 493 /** | 485 /** |
| 494 * Returns origin class of a function. | 486 * Returns origin class of a function. |
| 495 * | 487 * |
| 496 * Requires there to be a current isolate. | 488 * Requires there to be a current isolate. |
| 497 * | 489 * |
| 498 * \return Returns the class id (a handle to an integer) of the class in | 490 * \return Returns the class id (a handle to an integer) of the class in |
| 499 * which \function is defined. Returns a null handle if \function is defined | 491 * which \function is defined. Returns a null handle if \function is defined |
| 500 * at the top level. Returns an error object otherwise. | 492 * at the top level. Returns an error object otherwise. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 512 * corresponding values. Variable names are at array offsets 2*n, | 504 * corresponding values. Variable names are at array offsets 2*n, |
| 513 * values at offset 2*n+1. | 505 * values at offset 2*n+1. |
| 514 */ | 506 */ |
| 515 DART_EXPORT Dart_Handle Dart_GetGlobalVariables(intptr_t library_id); | 507 DART_EXPORT Dart_Handle Dart_GetGlobalVariables(intptr_t library_id); |
| 516 | 508 |
| 517 | 509 |
| 518 /** | 510 /** |
| 519 * Execute the expression given in string \expr in the context | 511 * Execute the expression given in string \expr in the context |
| 520 * of stack frame \activation_frame. | 512 * of stack frame \activation_frame. |
| 521 */ | 513 */ |
| 522 DART_EXPORT Dart_Handle Dart_ActivationFrameEvaluate( | 514 DART_EXPORT Dart_Handle |
| 523 Dart_ActivationFrame activation_frame, | 515 Dart_ActivationFrameEvaluate(Dart_ActivationFrame activation_frame, |
| 524 Dart_Handle expr_in); | 516 Dart_Handle expr_in); |
| 525 | 517 |
| 526 | 518 |
| 527 /** | 519 /** |
| 528 * Execute the expression given in string \expr in the context | 520 * Execute the expression given in string \expr in the context |
| 529 * of \target. | 521 * of \target. |
| 530 * | 522 * |
| 531 * Requires there to be a current isolate. | 523 * Requires there to be a current isolate. |
| 532 * | 524 * |
| 533 * The expression is evaluated in the context of \target. | 525 * The expression is evaluated in the context of \target. |
| 534 * If \target is a Dart object, the expression is evaluated as if | 526 * If \target is a Dart object, the expression is evaluated as if |
| 535 * it were an instance method of the class of the object. | 527 * it were an instance method of the class of the object. |
| 536 * If \target is a Class, the expression is evaluated as if it | 528 * If \target is a Class, the expression is evaluated as if it |
| 537 * were a static method of that class. | 529 * were a static method of that class. |
| 538 * If \target is a Library, the expression is evaluated as if it | 530 * If \target is a Library, the expression is evaluated as if it |
| 539 * were a top-level function in that library. | 531 * were a top-level function in that library. |
| 540 * | 532 * |
| 541 * \return A handle to the computed value, or an error object if | 533 * \return A handle to the computed value, or an error object if |
| 542 * the compilation of the expression fails, or if the evaluation throws | 534 * the compilation of the expression fails, or if the evaluation throws |
| 543 * an error. | 535 * an error. |
| 544 */ | 536 */ |
| 545 DART_EXPORT Dart_Handle Dart_EvaluateExpr(Dart_Handle target, | 537 DART_EXPORT Dart_Handle Dart_EvaluateExpr(Dart_Handle target, Dart_Handle expr); |
| 546 Dart_Handle expr); | |
| 547 | 538 |
| 548 | 539 |
| 549 /** | 540 /** |
| 550 * Returns the class of the given \object. | 541 * Returns the class of the given \object. |
| 551 * | 542 * |
| 552 * Requires there to be a current isolate. | 543 * Requires there to be a current isolate. |
| 553 * | 544 * |
| 554 * \return A handle to the class object. | 545 * \return A handle to the class object. |
| 555 */ | 546 */ |
| 556 DART_EXPORT Dart_Handle Dart_GetObjClass(Dart_Handle object); | 547 DART_EXPORT Dart_Handle Dart_GetObjClass(Dart_Handle object); |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 776 * keys and values are flattened and stored in arrays. | 767 * keys and values are flattened and stored in arrays. |
| 777 * \param param_values The values associated with the keys. | 768 * \param param_values The values associated with the keys. |
| 778 * \param num_params The length of the param_keys and param_values arrays. | 769 * \param num_params The length of the param_keys and param_values arrays. |
| 779 * \param user_data The user_data pointer registered with this handler. | 770 * \param user_data The user_data pointer registered with this handler. |
| 780 * \param result A C string containing a valid JSON object. The returned | 771 * \param result A C string containing a valid JSON object. The returned |
| 781 * pointer will be freed by the VM by calling free. | 772 * pointer will be freed by the VM by calling free. |
| 782 * | 773 * |
| 783 * \return True if the result is a regular JSON-RPC response, false if the | 774 * \return True if the result is a regular JSON-RPC response, false if the |
| 784 * result is a JSON-RPC error. | 775 * result is a JSON-RPC error. |
| 785 */ | 776 */ |
| 786 typedef bool (*Dart_ServiceRequestCallback)( | 777 typedef bool (*Dart_ServiceRequestCallback)(const char* method, |
| 787 const char* method, | 778 const char** param_keys, |
| 788 const char** param_keys, | 779 const char** param_values, |
| 789 const char** param_values, | 780 intptr_t num_params, |
| 790 intptr_t num_params, | 781 void* user_data, |
| 791 void* user_data, | 782 const char** json_object); |
| 792 const char** json_object); | |
| 793 | 783 |
| 794 | 784 |
| 795 /** | 785 /** |
| 796 * Register a Dart_ServiceRequestCallback to be called to handle | 786 * Register a Dart_ServiceRequestCallback to be called to handle |
| 797 * requests for the named rpc on a specific isolate. The callback will | 787 * requests for the named rpc on a specific isolate. The callback will |
| 798 * be invoked with the current isolate set to the request target. | 788 * be invoked with the current isolate set to the request target. |
| 799 * | 789 * |
| 800 * \param method The name of the method that this callback is responsible for. | 790 * \param method The name of the method that this callback is responsible for. |
| 801 * \param callback The callback to invoke. | 791 * \param callback The callback to invoke. |
| 802 * \param user_data The user data passed to the callback. | 792 * \param user_data The user data passed to the callback. |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 906 * for these functions to change. | 896 * for these functions to change. |
| 907 */ | 897 */ |
| 908 | 898 |
| 909 /** | 899 /** |
| 910 * A callback which determines whether the file at some url has been | 900 * A callback which determines whether the file at some url has been |
| 911 * modified since some time. If the file cannot be found, true should | 901 * modified since some time. If the file cannot be found, true should |
| 912 * be returned. | 902 * be returned. |
| 913 */ | 903 */ |
| 914 typedef bool (*Dart_FileModifiedCallback)(const char* url, int64_t since); | 904 typedef bool (*Dart_FileModifiedCallback)(const char* url, int64_t since); |
| 915 | 905 |
| 916 DART_EXPORT Dart_Handle Dart_SetFileModifiedCallback( | 906 DART_EXPORT Dart_Handle |
| 917 Dart_FileModifiedCallback file_modified_callback); | 907 Dart_SetFileModifiedCallback(Dart_FileModifiedCallback file_modified_callback); |
| 918 | 908 |
| 919 /* | 909 /* |
| 920 * ======== | 910 * ======== |
| 921 * Timeline | 911 * Timeline |
| 922 * ======== | 912 * ======== |
| 923 */ | 913 */ |
| 924 | 914 |
| 925 /** | 915 /** |
| 926 * Returns a timestamp in microseconds. This timestamp is suitable for | 916 * Returns a timestamp in microseconds. This timestamp is suitable for |
| 927 * passing into the timeline system. | 917 * passing into the timeline system. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 941 /** Timeline stream for embedder provided events */ | 931 /** Timeline stream for embedder provided events */ |
| 942 #define DART_TIMELINE_STREAM_EMBEDDER (1 << 4) | 932 #define DART_TIMELINE_STREAM_EMBEDDER (1 << 4) |
| 943 /** Timeline stream for GC events */ | 933 /** Timeline stream for GC events */ |
| 944 #define DART_TIMELINE_STREAM_GC (1 << 5) | 934 #define DART_TIMELINE_STREAM_GC (1 << 5) |
| 945 /** Timeline stream for isolate events */ | 935 /** Timeline stream for isolate events */ |
| 946 #define DART_TIMELINE_STREAM_ISOLATE (1 << 6) | 936 #define DART_TIMELINE_STREAM_ISOLATE (1 << 6) |
| 947 /** Timeline stream for VM events */ | 937 /** Timeline stream for VM events */ |
| 948 #define DART_TIMELINE_STREAM_VM (1 << 7) | 938 #define DART_TIMELINE_STREAM_VM (1 << 7) |
| 949 | 939 |
| 950 /** All timeline streams */ | 940 /** All timeline streams */ |
| 951 #define DART_TIMELINE_STREAM_ALL (DART_TIMELINE_STREAM_API | \ | 941 #define DART_TIMELINE_STREAM_ALL \ |
| 952 DART_TIMELINE_STREAM_COMPILER | \ | 942 (DART_TIMELINE_STREAM_API | DART_TIMELINE_STREAM_COMPILER | \ |
| 953 DART_TIMELINE_STREAM_DART | \ | 943 DART_TIMELINE_STREAM_DART | DART_TIMELINE_STREAM_DEBUGGER | \ |
| 954 DART_TIMELINE_STREAM_DEBUGGER | \ | 944 DART_TIMELINE_STREAM_EMBEDDER | DART_TIMELINE_STREAM_GC | \ |
| 955 DART_TIMELINE_STREAM_EMBEDDER | \ | 945 DART_TIMELINE_STREAM_ISOLATE | DART_TIMELINE_STREAM_VM) |
| 956 DART_TIMELINE_STREAM_GC | \ | |
| 957 DART_TIMELINE_STREAM_ISOLATE | \ | |
| 958 DART_TIMELINE_STREAM_VM) | |
| 959 | 946 |
| 960 /** Disable all timeline stream recording */ | 947 /** Disable all timeline stream recording */ |
| 961 #define DART_TIMELINE_STREAM_DISABLE 0 | 948 #define DART_TIMELINE_STREAM_DISABLE 0 |
| 962 | 949 |
| 963 | 950 |
| 964 /** | 951 /** |
| 965 * Start recording timeline events for the entire VM (including all isolates). | 952 * Start recording timeline events for the entire VM (including all isolates). |
| 966 * | 953 * |
| 967 * \param stream_mask A bitmask of streams that should be recorded. | 954 * \param stream_mask A bitmask of streams that should be recorded. |
| 968 * | 955 * |
| (...skipping 25 matching lines...) Expand all Loading... |
| 994 * | 981 * |
| 995 * At the start of each stream state will be DART_STREAM_CONSUMER_STATE_START | 982 * At the start of each stream state will be DART_STREAM_CONSUMER_STATE_START |
| 996 * and buffer will be NULL. | 983 * and buffer will be NULL. |
| 997 * | 984 * |
| 998 * For each chunk of data the state will be DART_STREAM_CONSUMER_STATE_DATA | 985 * For each chunk of data the state will be DART_STREAM_CONSUMER_STATE_DATA |
| 999 * and buffer will not be NULL. | 986 * and buffer will not be NULL. |
| 1000 * | 987 * |
| 1001 * At the end of each stream state will be DART_STREAM_CONSUMER_STATE_FINISH | 988 * At the end of each stream state will be DART_STREAM_CONSUMER_STATE_FINISH |
| 1002 * and buffer will be NULL. | 989 * and buffer will be NULL. |
| 1003 */ | 990 */ |
| 1004 typedef void (*Dart_StreamConsumer)( | 991 typedef void (*Dart_StreamConsumer)(Dart_StreamConsumer_State state, |
| 1005 Dart_StreamConsumer_State state, | 992 const char* stream_name, |
| 1006 const char* stream_name, | 993 const uint8_t* buffer, |
| 1007 const uint8_t* buffer, | 994 intptr_t buffer_length, |
| 1008 intptr_t buffer_length, | 995 void* stream_callback_data); |
| 1009 void* stream_callback_data); | |
| 1010 | 996 |
| 1011 /** | 997 /** |
| 1012 * Get the timeline for entire VM (including all isolates). | 998 * Get the timeline for entire VM (including all isolates). |
| 1013 * | 999 * |
| 1014 * NOTE: The timeline retrieved from this API call may not include the most | 1000 * NOTE: The timeline retrieved from this API call may not include the most |
| 1015 * recent events. | 1001 * recent events. |
| 1016 * | 1002 * |
| 1017 * \param consumer A Dart_StreamConsumer. | 1003 * \param consumer A Dart_StreamConsumer. |
| 1018 * \param user_data User data passed into consumer. | 1004 * \param user_data User data passed into consumer. |
| 1019 * | 1005 * |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1081 * \param start_recording See Dart_EmbedderTimelineStartRecording. | 1067 * \param start_recording See Dart_EmbedderTimelineStartRecording. |
| 1082 * \param stop_recording See Dart_EmbedderTimelineStopRecording. | 1068 * \param stop_recording See Dart_EmbedderTimelineStopRecording. |
| 1083 * | 1069 * |
| 1084 * NOTE: To avoid races, this should be called before Dart_Initialize. | 1070 * NOTE: To avoid races, this should be called before Dart_Initialize. |
| 1085 */ | 1071 */ |
| 1086 DART_EXPORT void Dart_SetEmbedderTimelineCallbacks( | 1072 DART_EXPORT void Dart_SetEmbedderTimelineCallbacks( |
| 1087 Dart_EmbedderTimelineStartRecording start_recording, | 1073 Dart_EmbedderTimelineStartRecording start_recording, |
| 1088 Dart_EmbedderTimelineStopRecording stop_recording); | 1074 Dart_EmbedderTimelineStopRecording stop_recording); |
| 1089 | 1075 |
| 1090 #endif // RUNTIME_INCLUDE_DART_TOOLS_API_H_ | 1076 #endif // RUNTIME_INCLUDE_DART_TOOLS_API_H_ |
| OLD | NEW |