jvmti.xsl revision 0:a61af66fc99e
1<?xml version="1.0"?> 2<!-- 3 Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved. 4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 6 This code is free software; you can redistribute it and/or modify it 7 under the terms of the GNU General Public License version 2 only, as 8 published by the Free Software Foundation. 9 10 This code is distributed in the hope that it will be useful, but WITHOUT 11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 version 2 for more details (a copy is included in the LICENSE file that 14 accompanied this code). 15 16 You should have received a copy of the GNU General Public License version 17 2 along with this work; if not, write to the Free Software Foundation, 18 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 20 Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 21 CA 95054 USA or visit www.sun.com if you need additional information or 22 have any questions. 23 24--> 25 26<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 27 28<xsl:import href="jvmtiLib.xsl"/> 29 30<xsl:output method="html" indent="yes" 31 doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" 32 doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> 33 34<xsl:param name="development"></xsl:param> 35 36<xsl:template match="specification"> 37 <html> 38 <head> 39 <title> 40 <xsl:value-of select="@label"/> 41 <xsl:text> </xsl:text> 42 <xsl:call-template name="showversion"/> 43 </title> 44 <style type="text/css"> 45 td.tableHeader {font-size: larger} 46 </style> 47 </head> 48 <body> 49 <table border="0" width="100%"> 50 <tr> 51 <td align="center"> 52 <xsl:apply-templates select="title"/> 53 </td> 54 </tr> 55 </table> 56 <ul> 57 <li> 58 <a href="#SpecificationIntro"><b>Introduction</b></a> 59 <ul> 60 <xsl:for-each select="intro"> 61 <li> 62 <a> 63 <xsl:attribute name="href">#<xsl:value-of select="@id"/> 64 </xsl:attribute> 65 <b><xsl:value-of select="@label"/></b> 66 </a> 67 </li> 68 </xsl:for-each> 69 </ul> 70 </li> 71 <li> 72 <a href="#FunctionSection"><b>Functions</b></a> 73 <ul> 74 <xsl:for-each select="functionsection/intro"> 75 <li> 76 <a> 77 <xsl:attribute name="href">#<xsl:value-of select="@id"/> 78 </xsl:attribute> 79 <b><xsl:value-of select="@label"/></b> 80 </a> 81 </li> 82 </xsl:for-each> 83 <li> 84 <a href="#FunctionIndex"><b>Function Index</b></a> 85 <ul> 86 <xsl:for-each select="functionsection/category"> 87 <li> 88 <a> 89 <xsl:attribute name="href">#<xsl:value-of select="@id"/> 90 </xsl:attribute> 91 <b><xsl:value-of select="@label"/></b> 92 </a> 93 </li> 94 </xsl:for-each> 95 </ul> 96 </li> 97 <li> 98 <a href="#ErrorSection"><b>Error Codes</b></a> 99 </li> 100 </ul> 101 </li> 102 <li> 103 <a href="#EventSection"><b>Events</b></a> 104 <ul> 105 <li> 106 <a href="#EventIndex"><b>Event Index</b></a> 107 </li> 108 </ul> 109 </li> 110 <li> 111 <a href="#DataSection"><b>Data Types</b></a> 112 <ul> 113 <xsl:for-each select="//basetypes"> 114 <li> 115 <a> 116 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 117 <b> 118 <xsl:value-of select="@label"/> 119 </b> 120 </a> 121 </li> 122 </xsl:for-each> 123 <li> 124 <a href="#StructureTypeDefinitions"><b>Structure Type Definitions</b></a> 125 </li> 126 <li> 127 <a href="#FunctionTypeDefinitions"><b>Function Type Definitions</b></a> 128 </li> 129 <li> 130 <a href="#EnumerationDefinitions"><b>Enumeration Definitions</b></a> 131 </li> 132 <li> 133 <a href="#FunctionTable"><b>Function Table</b></a> 134 </li> 135 </ul> 136 </li> 137 <li> 138 <a href="#ConstantIndex"><b>Constant Index</b></a> 139 </li> 140 <xsl:if test="$development = 'Show'"> 141 <li> 142 <a href="#SpecificationIssues"><b>Issues</b></a> 143 <ul> 144 <xsl:for-each select="issuessection/intro"> 145 <li> 146 <a> 147 <xsl:attribute name="href">#<xsl:value-of select="@id"/> 148 </xsl:attribute> 149 <b><xsl:value-of select="@label"/></b> 150 </a> 151 </li> 152 </xsl:for-each> 153 </ul> 154 </li> 155 </xsl:if> 156 <li> 157 <a href="#ChangeHistory"><b>Change History</b></a> 158 </li> 159 </ul> 160 <!-- end table of contents, begin body --> 161 <p/> 162 <hr noshade="noshade" size="3"/> 163 <p/> 164 <p id="SpecificationIntro"/> 165 <xsl:apply-templates select="intro"/> 166 <p id="FunctionSection"/> 167 <xsl:apply-templates select="functionsection"/> 168 <p id="ErrorSection"/> 169 <xsl:apply-templates select="errorsection"/> 170 <p id="DataSection"/> 171 <xsl:apply-templates select="datasection"/> 172 <p id="EventSection"/> 173 <xsl:apply-templates select="eventsection"/> 174 <p id="ConstantIndex"/> 175 <p/> 176 <hr noshade="noshade" size="3"/> 177 <h2> 178 Constant Index 179 </h2> 180 <blockquote> 181 <xsl:apply-templates select="//constant" mode="index"> 182 <xsl:sort select="@id"/> 183 </xsl:apply-templates> 184 </blockquote> 185 <xsl:if test="$development = 'Show'"> 186 <p id="SpecificationIssues"/> 187 <p/> 188 <hr noshade="noshade" size="3"/> 189 <h2> 190 <xsl:value-of select="issuessection/@label"/> 191 </h2> 192 <xsl:apply-templates select="issuessection/intro"/> 193 </xsl:if> 194 <p id="ChangeHistory"/> 195 <xsl:apply-templates select="changehistory"/> 196 </body> 197</html> 198</xsl:template> 199 200<xsl:template match="title"> 201 <h1> 202 <xsl:apply-templates/> 203 </h1> 204 <h3> 205 <xsl:value-of select="@subtitle"/> 206 <xsl:text> </xsl:text> 207 <xsl:call-template name="showbasicversion"/> 208 </h3> 209</xsl:template> 210 211<xsl:template match="functionsection"> 212 <p/> 213 <hr noshade="noshade" size="3"/> 214 <h2> 215 <xsl:value-of select="@label"/> 216 </h2> 217 <xsl:apply-templates select="intro"/> 218 <h3 id="FunctionIndex">Function Index</h3> 219 <ul> 220 <xsl:apply-templates select="category" mode="index"/> 221 </ul> 222 <xsl:apply-templates select="category" mode="body"/> 223</xsl:template> 224 225<xsl:template match="category" mode="index"> 226 <li> 227 <a> 228 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 229 <b> 230 <xsl:value-of select="@label"/> 231 </b> 232 </a> 233 <ul> 234 <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/> 235 </ul> 236 </li> 237</xsl:template> 238 239<xsl:template match="function|callback" mode="index"> 240 <li> 241 <a> 242 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 243 <xsl:apply-templates select="synopsis" mode="index"/> 244 </a> 245 </li> 246</xsl:template> 247 248<xsl:template match="synopsis" mode="index"> 249 <xsl:value-of select="."/> 250</xsl:template> 251 252<xsl:template match="category" mode="body"> 253 <p> 254 <xsl:attribute name="id"> 255 <xsl:value-of select="@id"/> 256 </xsl:attribute> 257 </p> 258 <hr noshade="noshade" size="3"/> 259 <h2 align="center"><xsl:value-of select="@label"/></h2> 260 <xsl:value-of select="@label"/> functions: 261 <ul> 262 <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/> 263 </ul> 264 <xsl:variable name="calltypes" select="callback"/> 265 <xsl:if test="count($calltypes)!=0"> 266 <xsl:value-of select="@label"/> function types: 267 <ul> 268 <xsl:apply-templates select="$calltypes" mode="index"/> 269 </ul> 270 </xsl:if> 271 <xsl:variable name="cattypes" 272 select="(descendant::typedef|descendant::uniontypedef|descendant::capabilitiestypedef|descendant::constants[@kind='enum'])"/> 273 <xsl:if test="count($cattypes)!=0"> 274 <xsl:value-of select="@label"/> types: 275 <ul> 276 <xsl:for-each select="$cattypes"> 277 <li> 278 <a> 279 <xsl:attribute name="href"> 280 <xsl:text>#</xsl:text> 281 <xsl:value-of select="@id"/> 282 </xsl:attribute> 283 <code><xsl:value-of select="@id"/></code> 284 </a> 285 <xsl:text> - </xsl:text> 286 <xsl:value-of select="@label"/> 287 </li> 288 </xsl:for-each> 289 </ul> 290 </xsl:if> 291 <xsl:variable name="catconst" 292 select="(descendant::constants[@kind!='enum'])"/> 293 <xsl:if test="count($catconst)!=0"> 294 <xsl:value-of select="@label"/> flags and constants: 295 <ul> 296 <xsl:for-each select="$catconst"> 297 <li> 298 <a> 299 <xsl:attribute name="href"> 300 <xsl:text>#</xsl:text> 301 <xsl:value-of select="@id"/> 302 </xsl:attribute> 303 <xsl:value-of select="@label"/> 304 </a> 305 </li> 306 </xsl:for-each> 307 </ul> 308 </xsl:if> 309 <xsl:apply-templates select="intro|typedef|uniontypedef|capabilitiestypedef"/> 310 <p/> 311 <xsl:apply-templates select="function[count(@hide)=0]|callback" mode="body"/> 312</xsl:template> 313 314<xsl:template match="function" mode="body"> 315 <hr noshade="noshade" width="100%" size="1"> 316 <xsl:attribute name="id"> 317 <xsl:value-of select="@id"/> 318 </xsl:attribute> 319 320 </hr> 321 <xsl:apply-templates select="synopsis" mode="body"/> 322 <blockquote> 323 <xsl:apply-templates select="typedef" mode="code"/> 324 <xsl:apply-templates select="descendant::constants[@kind='enum']" mode="signature"/> 325 <pre> 326 <xsl:text>jvmtiError 327</xsl:text> 328 <xsl:value-of select="@id"/>(jvmtiEnv* env<xsl:apply-templates select="parameters" mode="signature"/>)</pre> 329 </blockquote> 330 <xsl:apply-templates select="description"/> 331 <xsl:apply-templates select="." mode="generalinfo"/> 332 <xsl:apply-templates select="capabilities|eventcapabilities"/> 333 <xsl:apply-templates select="typedef" mode="body"/> 334 <xsl:apply-templates select="parameters" mode="body"/> 335 <xsl:apply-templates select="." mode="errors"/> 336</xsl:template> 337 338<xsl:template match="function" mode="generalinfo"> 339 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 340 <tr bgcolor="#EEEEFF"> 341 <td > 342 <a href="#jvmtiPhase">Phase</a> 343 </td> 344 <td> 345 <a href="#heapCallbacks">Callback Safe</a> 346 </td> 347 <td> 348 <a href="#FunctionTable">Position</a> 349 </td> 350 <td> 351 <a href="#ChangeHistory">Since</a> 352 </td> 353 </tr> 354 <tr> 355 <td > 356 <xsl:apply-templates select="." mode="phaseinfo"/> 357 </td> 358 <td> 359 <xsl:apply-templates select="." mode="callbacksafeinfo"/> 360 </td> 361 <td> 362 <xsl:value-of select="@num"/> 363 </td> 364 <td> 365 <xsl:value-of select="@since"/> 366 </td> 367 </tr> 368 </table> 369</xsl:template> 370 371<xsl:template match="event" mode="generalinfo"> 372 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 373 <tr bgcolor="#EEEEFF"> 374 <td > 375 <a href="#jvmtiPhase">Phase</a> 376 </td> 377 <td> 378 <a href="#jvmtiEvent">Event Type</a> 379 </td> 380 <td> 381 <a href="#jvmtiEvent">Number</a> 382 </td> 383 <td> 384 <a href="#enablingevents">Enabling</a> 385 </td> 386 <td> 387 <a href="#ChangeHistory">Since</a> 388 </td> 389 </tr> 390 <tr> 391 <td > 392 <xsl:apply-templates select="." mode="phaseinfo"/> 393 </td> 394 <td> 395 <code><xsl:value-of select="@const"/></code> 396 </td> 397 <td> 398 <xsl:value-of select="@num"/> 399 </td> 400 <td> 401 <code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE, 402 <xsl:value-of select="@const"/>, NULL)</code> 403 </td> 404 <td> 405 <xsl:value-of select="@since"/> 406 </td> 407 </tr> 408 </table> 409</xsl:template> 410 411<xsl:template match="function" mode="phaseinfo"> 412 may 413 <xsl:choose> 414 <xsl:when test="count(@phase) = 0 or @phase = 'live'"> 415 only be called during the live 416 </xsl:when> 417 <xsl:otherwise> 418 <xsl:choose> 419 <xsl:when test="@phase = 'onload'"> 420 only be called during the OnLoad or the live 421 </xsl:when> 422 <xsl:otherwise> 423 <xsl:choose> 424 <xsl:when test="@phase = 'any'"> 425 be called during any 426 </xsl:when> 427 <xsl:otherwise> 428 <xsl:choose> 429 <xsl:when test="@phase = 'start'"> 430 only be called during the start or the live 431 </xsl:when> 432 <xsl:otherwise> 433 <xsl:choose> 434 <xsl:when test="@phase = 'onloadOnly'"> 435 only be called during the OnLoad 436 </xsl:when> 437 <xsl:otherwise> 438 <xsl:message terminate="yes"> 439 bad phase - <xsl:value-of select="@phase"/> 440 </xsl:message> 441 </xsl:otherwise> 442 </xsl:choose> 443 </xsl:otherwise> 444 </xsl:choose> 445 </xsl:otherwise> 446 </xsl:choose> 447 </xsl:otherwise> 448 </xsl:choose> 449 </xsl:otherwise> 450 </xsl:choose> 451 phase 452</xsl:template> 453 454 455<xsl:template match="event" mode="phaseinfo"> 456 sent 457 <xsl:choose> 458 <xsl:when test="count(@phase) = 0 or @phase = 'live'"> 459 only during the live 460 </xsl:when> 461 <xsl:otherwise> 462 <xsl:choose> 463 <xsl:when test="@phase = 'any'"> 464 during the primordial, start or live 465 </xsl:when> 466 <xsl:otherwise> 467 <xsl:choose> 468 <xsl:when test="@phase = 'start'"> 469 during the start or live 470 </xsl:when> 471 <xsl:otherwise> 472 <xsl:message terminate="yes"> 473 bad phase - <xsl:value-of select="@phase"/> 474 </xsl:message> 475 </xsl:otherwise> 476 </xsl:choose> 477 </xsl:otherwise> 478 </xsl:choose> 479 </xsl:otherwise> 480 </xsl:choose> 481 phase 482</xsl:template> 483 484 485<xsl:template match="function" mode="callbacksafeinfo"> 486 <xsl:choose> 487 <xsl:when test="contains(@callbacksafe,'safe')"> 488 This function may be called from the callbacks to the 489 <a href="#Heap">Heap</a> iteration functions, or from the 490 event handlers for the 491 <a href="#GarbageCollectionStart"><code>GarbageCollectionStart</code></a>, 492 <a href="#GarbageCollectionFinish"><code>GarbageCollectionFinish</code></a>, 493 and <a href="#ObjectFree"><code>ObjectFree</code></a> events. 494 </xsl:when> 495 <xsl:otherwise> 496 No 497 </xsl:otherwise> 498 </xsl:choose> 499</xsl:template> 500 501 502<xsl:template match="callback" mode="body"> 503 <hr noshade="noshade" width="100%" size="1"> 504 <xsl:attribute name="id"> 505 <xsl:value-of select="@id"/> 506 </xsl:attribute> 507 </hr> 508 <xsl:apply-templates select="synopsis" mode="body"/> 509 <table cellpadding="0" cellspacing="0" border="0" width="90%" align="center"><tr><td> 510 <blockquote> 511 <pre> 512 <xsl:text>typedef </xsl:text> 513 <xsl:apply-templates select="child::*[position()=1]" mode="signature"/> 514 <xsl:text> (JNICALL *</xsl:text> 515 <xsl:value-of select="@id"/> 516 <xsl:text>) 517 (</xsl:text> 518 <xsl:for-each select="parameters"> 519 <xsl:apply-templates select="param[position()=1]" mode="signature"/> 520 <xsl:for-each select="param[position()>1]"> 521 <xsl:text>, 522 </xsl:text> 523 <xsl:apply-templates select="." mode="signature"/> 524 </xsl:for-each> 525 </xsl:for-each> 526 <xsl:text>);</xsl:text> 527 </pre> 528 </blockquote> 529 <xsl:apply-templates select="description"/> 530 <xsl:apply-templates select="parameters" mode="body"/> 531</td></tr></table> 532</xsl:template> 533 534<xsl:template match="synopsis" mode="body"> 535 <h3><xsl:value-of select="."/></h3> 536</xsl:template> 537 538<xsl:template match="eventsection"> 539 <p/> 540 <hr noshade="noshade" size="3"/> 541 <h2> 542 <xsl:value-of select="@label"/> 543 </h2> 544 <xsl:apply-templates select="intro"/> 545 <blockquote> 546 <pre> 547 <xsl:text> 548typedef struct { 549</xsl:text> 550 <xsl:call-template name="eventStruct"> 551 <xsl:with-param name="events" select="event"/> 552 <xsl:with-param name="index" select="0"/> 553 <xsl:with-param name="started" select="false"/> 554 <xsl:with-param name="comment" select="'No'"/> 555 </xsl:call-template> 556 <xsl:text>} jvmtiEventCallbacks; 557</xsl:text> 558 </pre> 559 </blockquote> 560 <p/> 561 <hr noshade="noshade" width="100%" size="1"/> 562 <h3 id="EventIndex">Event Index</h3> 563 <ul> 564 <xsl:apply-templates select="event" mode="index"> 565 <xsl:sort select="@label"/> 566 </xsl:apply-templates> 567 </ul> 568 <xsl:apply-templates select="event" mode="body"/> 569</xsl:template> 570 571<xsl:template match="event" mode="index"> 572 <li> 573 <a> 574 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 575 <b> 576 <xsl:value-of select="@label"/> 577 </b> 578 </a> 579 </li> 580</xsl:template> 581 582<xsl:template match="event" mode="body"> 583 <p> 584 <xsl:attribute name="id"> 585 <xsl:value-of select="@id"/> 586 </xsl:attribute> 587 </p> 588 <hr noshade="noshade" size="3"/> 589 <h2><xsl:value-of select="@label"/></h2> 590 <p/> 591 <blockquote> 592 <xsl:apply-templates select="typedef" mode="code"/> 593 <pre> 594<xsl:text>void JNICALL 595</xsl:text> 596 <xsl:value-of select="@id"/>(jvmtiEnv *jvmti_env<xsl:apply-templates select="parameters" mode="signature"/>)</pre> 597 </blockquote> 598 <xsl:apply-templates select="description"/> 599 <xsl:apply-templates select="." mode="generalinfo"/> 600 <xsl:apply-templates select="typedef" mode="body"/> 601 <xsl:apply-templates select="capabilities"/> 602 <xsl:apply-templates select="parameters" mode="body"/> 603</xsl:template> 604 605<xsl:template match="capabilitiestypedef" mode="code"> 606 <blockquote> 607 <pre> 608 <xsl:apply-templates select="." mode="genstruct"/> 609 </pre> 610 </blockquote> 611</xsl:template> 612 613<xsl:template match="typedef" mode="code"> 614 <pre> 615 <xsl:call-template name="gentypedef"> 616 <xsl:with-param name="tdef" select="."/> 617 </xsl:call-template> 618 </pre> 619</xsl:template> 620 621<xsl:template match="uniontypedef" mode="code"> 622 <pre> 623 <xsl:call-template name="genuniontypedef"> 624 <xsl:with-param name="tdef" select="."/> 625 </xsl:call-template> 626 </pre> 627</xsl:template> 628 629<xsl:template match="capabilitiestypedef|typedef|uniontypedef" mode="description"> 630 <xsl:apply-templates select="description"/> 631</xsl:template> 632 633<xsl:template match="capabilitiestypedef|typedef|uniontypedef"> 634 <h4> 635 <xsl:attribute name="id"> 636 <xsl:value-of select="@id"/> 637 </xsl:attribute> 638 <xsl:value-of select="@label"/> 639 </h4> 640 <xsl:apply-templates select="." mode="description"/> 641 <blockquote> 642 <xsl:apply-templates select="." mode="code"/> 643 <xsl:apply-templates select="." mode="justbody"/> 644 </blockquote> 645</xsl:template> 646 647<xsl:template match="constants" mode="signature"> 648 <pre> 649 <xsl:apply-templates select="." mode="enum"/> 650 </pre> 651</xsl:template> 652 653<xsl:template match="typedef|uniontypedef" mode="body"> 654 <p> 655 <xsl:attribute name="id"> 656 <xsl:value-of select="@id"/> 657 </xsl:attribute> 658 </p> 659 <xsl:apply-templates select="." mode="justbody"/> 660</xsl:template> 661 662<xsl:template match="typedef|uniontypedef" mode="justbody"> 663 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 664 <tr bgcolor="#CCCCFF"> 665 <td colspan="3" align="center" class="tableHeader"> 666 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> 667 </td> 668 </tr> 669 <tr bgcolor="#EEEEFF"> 670 <td> 671 Field 672 </td> 673 <td> 674 Type 675 </td> 676 <td> 677 Description 678 </td> 679 </tr> 680 <xsl:apply-templates select="field" mode="body"/> 681 </table> 682</xsl:template> 683 684<xsl:template match="capabilitiestypedef" mode="body"> 685 <p> 686 <xsl:attribute name="id"> 687 <xsl:value-of select="@id"/> 688 </xsl:attribute> 689 </p> 690 <xsl:apply-templates select="." mode="justbody"/> 691</xsl:template> 692 693<xsl:template match="capabilitiestypedef" mode="justbody"> 694 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 695 <tr bgcolor="#CCCCFF"> 696 <td colspan="3" align="center" class="tableHeader"> 697 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> 698 </td> 699 </tr> 700 <tr bgcolor="#EEEEFF"> 701 <td colspan="3"> 702 All types are <code>unsigned int : 1</code> 703 </td> 704 </tr> 705 <tr bgcolor="#EEEEFF"> 706 <td> 707 Field 708 </td> 709 <td> 710 Description 711 </td> 712 <td> 713 <a href="#ChangeHistory">Since</a> 714 </td> 715 </tr> 716 <xsl:apply-templates select="capabilityfield" mode="body"/> 717 </table> 718</xsl:template> 719 720<xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry"> 721 <tr> 722 <td> 723 <a> 724 <xsl:attribute name="href"> 725 <xsl:text>#</xsl:text> 726 <xsl:value-of select="@id"/> 727 </xsl:attribute> 728 <code><xsl:value-of select="@id"/></code> 729 </a> 730 </td> 731 <td> 732 <xsl:value-of select="@label"/> 733 </td> 734 </tr> 735</xsl:template> 736 737<xsl:template match="field" mode="body"> 738 <tr> 739 <td> 740 <code> 741 <xsl:attribute name="id"> 742 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> 743 </xsl:attribute> 744 <xsl:value-of select="@id"/> 745 </code> 746 </td> 747 <td> 748 <code> 749 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> 750 </code> 751 </td> 752 <td> 753 <xsl:apply-templates select="description" mode="brief"/> 754 </td> 755 </tr> 756</xsl:template> 757 758<xsl:template match="capabilityfield" mode="body"> 759 <tr> 760 <td> 761 <code> 762 <xsl:choose> 763 <xsl:when test="@disp1!=''"> 764 <xsl:value-of select="@disp1"/> 765 <br></br> 766 <xsl:value-of select="@disp2"/> 767 </xsl:when> 768 <xsl:otherwise> 769 <xsl:value-of select="@id"/> 770 </xsl:otherwise> 771 </xsl:choose> 772 </code> 773 </td> 774 <td> 775 <a> 776 <xsl:attribute name="name"> 777 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> 778 </xsl:attribute> 779 </a> 780 <xsl:apply-templates select="description" mode="brief"/> 781 </td> 782 <td> 783 <xsl:value-of select="@since"/> 784 </td> 785 </tr> 786</xsl:template> 787 788<xsl:template match="callback" mode="tableentry"> 789 <tr> 790 <td> 791 <a> 792 <xsl:attribute name="href"> 793 <xsl:text>#</xsl:text> 794 <xsl:value-of select="@id"/> 795 </xsl:attribute> 796 <code> 797 <xsl:value-of select="@id"/> 798 </code> 799 </a> 800 </td> 801 <td> 802 <xsl:apply-templates select="synopsis" mode="index"/> 803 </td> 804 </tr> 805</xsl:template> 806 807<xsl:template match="constants"> 808 <blockquote> 809 <a> 810 <xsl:attribute name="name"> 811 <xsl:value-of select="@id"/> 812 </xsl:attribute> 813 </a> 814 <table border="1" cellpadding="3" cellspacing="0"> 815 <tr bgcolor="#CCCCFF"> 816 <td colspan="3" align="center" class="tableHeader"> 817 <xsl:value-of select="@label"/> 818 <xsl:if test="@kind='enum'"> 819 <xsl:text> (</xsl:text> 820 <code> 821 <xsl:value-of select="@id"/> 822 </code> 823 <xsl:text>)</xsl:text> 824 </xsl:if> 825 </td> 826 </tr> 827 <tr bgcolor="#EEEEFF"> 828 <td> 829 Constant 830 </td> 831 <td> 832 Value 833 </td> 834 <td> 835 Description 836 </td> 837 </tr> 838 <xsl:apply-templates select="constant" mode="body"/> 839 </table> 840 </blockquote> 841</xsl:template> 842 843<xsl:template match="constant" mode="index"> 844 <a> 845 <xsl:attribute name="href">#<xsl:value-of select="@id"/> 846 </xsl:attribute> 847 <code> 848 <xsl:value-of select="@id"/> 849 </code> 850 </a> 851 <br/> 852</xsl:template> 853 854<xsl:template match="constant" mode="body"> 855 <tr> 856 <td> 857 <code> 858 <xsl:attribute name="id"> 859 <xsl:value-of select="@id"/> 860 </xsl:attribute> 861 <xsl:value-of select="@id"/> 862 </code> 863 </td> 864 <td align="right"> 865 <xsl:value-of select="@num"/> 866 </td> 867 <td> 868 <xsl:apply-templates/> 869 </td> 870 </tr> 871</xsl:template> 872 873<xsl:template match="basetypes"> 874 <p> 875 <xsl:attribute name="id"> 876 <xsl:value-of select="@id"/> 877 </xsl:attribute> 878 </p> 879 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 880 <tr bgcolor="#CCCCFF"> 881 <td colspan="2" align="center" class="tableHeader"> 882 <xsl:value-of select="@label"/> 883 </td> 884 </tr> 885 <tr bgcolor="#EEEEFF"> 886 <td> 887 Type 888 </td> 889 <td> 890 Description 891 </td> 892 </tr> 893 <xsl:apply-templates select="basetype" mode="body"/> 894 </table> 895</xsl:template> 896 897<xsl:template match="basetype" mode="body"> 898 <xsl:choose> 899 <xsl:when test="count(definition)=0"> 900 <tr> 901 <td> 902 <code> 903 <xsl:value-of select="@id"/> 904 </code> 905 </td> 906 <td> 907 <a> 908 <xsl:attribute name="name"> 909 <xsl:value-of select="@id"/> 910 </xsl:attribute> 911 </a> 912 <xsl:apply-templates select="description" mode="brief"/> 913 </td> 914 </tr> 915 </xsl:when> 916 <xsl:otherwise> 917 <tr> 918 <td rowspan="2"> 919 <code> 920 <xsl:value-of select="@id"/> 921 </code> 922 </td> 923 <td> 924 <a> 925 <xsl:attribute name="name"> 926 <xsl:value-of select="@id"/> 927 </xsl:attribute> 928 </a> 929 <xsl:apply-templates select="description" mode="brief"/> 930 </td> 931 </tr> 932 <tr> 933 <td> 934 <pre> 935 <xsl:apply-templates select="definition"/> 936 </pre> 937 </td> 938 </tr> 939 </xsl:otherwise> 940 </xsl:choose> 941</xsl:template> 942 943<xsl:template match="description"> 944 <xsl:apply-templates/> 945 <p/> 946</xsl:template> 947 948<xsl:template match="description" mode="brief"> 949 <xsl:apply-templates/> 950</xsl:template> 951 952<xsl:template match="fieldlink"> 953 <a> 954 <xsl:attribute name="href">#<xsl:value-of select="@struct"/>.<xsl:value-of select="@id"/></xsl:attribute> 955 <xsl:choose> 956 <xsl:when test=".=''"> 957 <code> 958 <xsl:value-of select="@id"/> 959 </code> 960 </xsl:when> 961 <xsl:otherwise> 962 <xsl:apply-templates/> 963 </xsl:otherwise> 964 </xsl:choose> 965 </a> 966</xsl:template> 967 968<xsl:template match="paramlink"> 969 <a> 970 <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="@id"/> 971 </xsl:attribute> 972 <xsl:choose> 973 <xsl:when test=".=''"> 974 <code> 975 <xsl:value-of select="@id"/> 976 </code> 977 </xsl:when> 978 <xsl:otherwise> 979 <xsl:apply-templates/> 980 </xsl:otherwise> 981 </xsl:choose> 982 </a> 983</xsl:template> 984 985<xsl:template match="eventlink|errorlink|typelink|datalink|functionlink"> 986 <a> 987 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 988 <xsl:choose> 989 <xsl:when test=".=''"> 990 <code> 991 <xsl:value-of select="@id"/> 992 </code> 993 </xsl:when> 994 <xsl:otherwise> 995 <xsl:apply-templates/> 996 </xsl:otherwise> 997 </xsl:choose> 998 </a> 999</xsl:template> 1000 1001<xsl:template match="functionphaselist"> 1002 <xsl:variable name="phase" select="@phase"/> 1003 <ul> 1004 <xsl:for-each select="/specification/functionsection/category/function[@phase=$phase and count(@hide)=0]"> 1005 <li> 1006 <a> 1007 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1008 <b> 1009 <xsl:value-of select="@id"/> 1010 </b> 1011 </a> 1012 </li> 1013 </xsl:for-each> 1014 </ul> 1015</xsl:template> 1016 1017<xsl:template match="eventphaselist"> 1018 <xsl:variable name="phase" select="@phase"/> 1019 <ul> 1020 <xsl:for-each select="//eventsection/event[@phase=$phase]"> 1021 <li> 1022 <a> 1023 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1024 <b> 1025 <xsl:value-of select="@id"/> 1026 </b> 1027 </a> 1028 </li> 1029 </xsl:for-each> 1030 </ul> 1031</xsl:template> 1032 1033<xsl:template match="externallink"> 1034 <a> 1035 <xsl:attribute name="href"> 1036 <xsl:value-of select="@id"/> 1037 </xsl:attribute> 1038 <xsl:value-of select="."/> 1039 </a> 1040</xsl:template> 1041 1042<xsl:template match="vmspeclink"> 1043 <xsl:if test="count(@id)=1"> 1044 <a> 1045 <xsl:attribute name="href"> 1046 <xsl:text>http://java.sun.com/docs/books/vmspec/2nd-edition/html/</xsl:text> 1047 <xsl:value-of select="@id"/> 1048 </xsl:attribute> 1049 <xsl:value-of select="@name"/> 1050 </a> 1051 <xsl:text> </xsl:text> 1052 <xsl:choose> 1053 <xsl:when test="count(@preposition)=1"> 1054 <xsl:value-of select="@preposition"/> 1055 </xsl:when> 1056 <xsl:otherwise> 1057 <xsl:text>of</xsl:text> 1058 </xsl:otherwise> 1059 </xsl:choose> 1060 <xsl:text> the </xsl:text> 1061 </xsl:if> 1062 <a> 1063 <xsl:attribute name="href"> 1064 <xsl:text>http://java.sun.com/docs/books/vmspec/</xsl:text> 1065 </xsl:attribute> 1066 <i> 1067 <xsl:text>Java Virtual Machine Specification</xsl:text> 1068 </i> 1069 </a> 1070</xsl:template> 1071 1072<xsl:template match="internallink"> 1073 <a> 1074 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1075 <xsl:apply-templates/> 1076 </a> 1077</xsl:template> 1078 1079<xsl:template match="parameters" mode="body"> 1080 <p/> 1081 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1082 <tr bgcolor="#CCCCFF"> 1083 <td colspan="3" align="center" class="tableHeader"> 1084 Parameters 1085 </td> 1086 </tr> 1087 <tr bgcolor="#EEEEFF"> 1088 <td> 1089 Name 1090 </td> 1091 <td> 1092 Type 1093 </td> 1094 <td> 1095 Description 1096 </td> 1097 </tr> 1098 <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/> 1099 </table> 1100</xsl:template> 1101 1102<xsl:template match="param" mode="body"> 1103 <tr> 1104 <td> 1105 <code> 1106 <xsl:attribute name="id"> 1107 <xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/> 1108 </xsl:attribute> 1109 <xsl:value-of select="@id"/> 1110 </code> 1111 </td> 1112 <td> 1113 <code> 1114 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> 1115 </code> 1116 </td> 1117 <td> 1118 <xsl:apply-templates select="description" mode="brief"/> 1119 <xsl:if test="count(ancestor::function)=1"> 1120 <xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/> 1121 </xsl:if> 1122 </td> 1123 </tr> 1124</xsl:template> 1125 1126<xsl:template match="capabilities"> 1127 <p/> 1128 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1129 <tr bgcolor="#CCCCFF"> 1130 <td colspan="2" align="center" class="tableHeader"> 1131 Capabilities 1132 </td> 1133 </tr> 1134 <xsl:choose> 1135 <xsl:when test="count(required)=0"> 1136 <tr> 1137 <td colspan="2"> 1138 <b>Required Functionality</b> 1139 </td> 1140 </tr> 1141 </xsl:when> 1142 <xsl:otherwise> 1143 <tr> 1144 <td colspan="2"> 1145 <b>Optional Functionality:</b> might not be implemented for all 1146 virtual machines. 1147 <xsl:choose> 1148 <xsl:when test="count(required)=1"> 1149 The following capability 1150 </xsl:when> 1151 <xsl:otherwise> 1152 One of the following capabilities 1153 </xsl:otherwise> 1154 </xsl:choose> 1155 (as returned by 1156 <a href="#GetCapabilities"><code>GetCapabilities</code></a>) 1157 must be true to use this 1158 <xsl:choose> 1159 <xsl:when test="ancestor::function"> 1160 function. 1161 </xsl:when> 1162 <xsl:otherwise> 1163 event. 1164 </xsl:otherwise> 1165 </xsl:choose> 1166 </td> 1167 </tr> 1168 <tr bgcolor="#EEEEFF"> 1169 <td > 1170 Capability 1171 </td> 1172 <td> 1173 Effect 1174 </td> 1175 </tr> 1176 <xsl:apply-templates select="required"/> 1177 </xsl:otherwise> 1178 </xsl:choose> 1179 <xsl:if test="count(capability)!=0"> 1180 <tr bgcolor="#CCCCFF"> 1181 <td colspan="2" align="center"> 1182 Optional Features 1183 </td> 1184 </tr> 1185 <xsl:if test="count(required)=0"> 1186 <tr bgcolor="#EEEEFF"> 1187 <td > 1188 Capability 1189 </td> 1190 <td> 1191 Effect 1192 </td> 1193 </tr> 1194 </xsl:if> 1195 <xsl:apply-templates select="capability"/> 1196 </xsl:if> 1197 </table> 1198</xsl:template> 1199 1200<xsl:template match="eventcapabilities"> 1201 <p/> 1202 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1203 <tr bgcolor="#CCCCFF"> 1204 <td colspan="2" align="center" class="tableHeader"> 1205 Capabilities 1206 </td> 1207 </tr> 1208 <tr> 1209 <td colspan="2"> 1210 <b>Required Functionality</b> 1211 </td> 1212 </tr> 1213 <tr bgcolor="#CCCCFF"> 1214 <td colspan="2" align="center"> 1215 Event Enabling Capabilities 1216 </td> 1217 </tr> 1218 <tr bgcolor="#EEEEFF"> 1219 <td > 1220 Capability 1221 </td> 1222 <td> 1223 Events 1224 </td> 1225 </tr> 1226 <xsl:for-each select="//capabilityfield"> 1227 <xsl:variable name="capa" select="@id"/> 1228 <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/> 1229 <xsl:if test="count($events)"> 1230 <tr> 1231 <td> 1232 <a> 1233 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> 1234 </xsl:attribute> 1235 <code> 1236 <xsl:value-of select="@id"/> 1237 </code> 1238 </a> 1239 </td> 1240 <td> 1241 <xsl:for-each select="$events"> 1242 <a> 1243 <xsl:attribute name="href">#<xsl:value-of select="@id"/> 1244 </xsl:attribute> 1245 <code> 1246 <xsl:value-of select="@id"/> 1247 </code> 1248 </a> 1249 <br/> 1250 </xsl:for-each> 1251 </td> 1252 </tr> 1253 </xsl:if> 1254 </xsl:for-each> 1255 </table> 1256</xsl:template> 1257 1258<xsl:template match="capability|required"> 1259 <tr> 1260 <td> 1261 <a> 1262 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> 1263 </xsl:attribute> 1264 <code> 1265 <xsl:value-of select="@id"/> 1266 </code> 1267 </a> 1268 </td> 1269 <td> 1270 <xsl:choose> 1271 <xsl:when test=".=''"> 1272 <xsl:variable name="desiredID" select="@id"/> 1273 <xsl:for-each select="//capabilityfield[@id=$desiredID]"> 1274 <xsl:apply-templates select="description" mode="brief"/> 1275 </xsl:for-each> 1276 </xsl:when> 1277 <xsl:otherwise> 1278 <xsl:apply-templates/> 1279 </xsl:otherwise> 1280 </xsl:choose> 1281 </td> 1282 </tr> 1283</xsl:template> 1284 1285<xsl:template match="function" mode="errors"> 1286 <xsl:variable name="haserrors"> 1287 <xsl:apply-templates select="capabilities/required" mode="haserrors"/> 1288 <xsl:apply-templates select="errors/error" mode="haserrors"/> 1289 <xsl:apply-templates select="parameters/param" mode="haserrors"/> 1290 </xsl:variable> 1291 <p/> 1292 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1293 <tr bgcolor="#CCCCFF"> 1294 <td colspan="2" align="center" class="tableHeader"> 1295 Errors 1296 </td> 1297 </tr> 1298 <xsl:choose> 1299 <xsl:when test="contains($haserrors,'yes')"> 1300 <tr> 1301 <td colspan="2"> 1302 This function returns either a 1303 <a href="#universal-error">universal error</a> 1304 or one of the following errors 1305 </td> 1306 </tr> 1307 <tr bgcolor="#EEEEFF"> 1308 <td> 1309 Error 1310 </td> 1311 <td> 1312 Description 1313 </td> 1314 </tr> 1315 <xsl:apply-templates select="capabilities/required" mode="errors"/> 1316 <xsl:apply-templates select="errors/error"/> 1317 <xsl:apply-templates select="parameters/param" mode="errors"/> 1318 </xsl:when> 1319 <xsl:otherwise> 1320 <tr> 1321 <td colspan="2"> 1322 This function returns a 1323 <a href="#universal-error">universal error</a> 1324 </td> 1325 </tr> 1326 </xsl:otherwise> 1327 </xsl:choose> 1328 </table> 1329</xsl:template> 1330 1331<xsl:template match="required" mode="haserrors"> 1332 yes 1333</xsl:template> 1334 1335<xsl:template match="required" mode="errors"> 1336 <tr> 1337 <td> 1338 <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY"> 1339 <code> 1340 JVMTI_ERROR_MUST_POSSESS_CAPABILITY 1341 </code> 1342 </a> 1343 </td> 1344 <td> 1345 The environment does not possess the capability 1346 <a> 1347 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute> 1348 <code> 1349 <xsl:value-of select="@id"/> 1350 </code> 1351 </a>. 1352 Use <a href="#AddCapabilities"><code>AddCapabilities</code></a>. 1353 </td> 1354 </tr> 1355</xsl:template> 1356 1357<xsl:template match="param" mode="haserrors"> 1358 <xsl:apply-templates mode="haserrors"/> 1359</xsl:template> 1360 1361<xsl:template match="param" mode="errors"> 1362 <xsl:apply-templates select="." mode="errors1"/> 1363 <xsl:apply-templates select="." mode="errors2"/> 1364</xsl:template> 1365 1366<xsl:template match="param" mode="errors1"> 1367 <xsl:variable name="haserrors"> 1368 <xsl:apply-templates mode="haserrors"/> 1369 </xsl:variable> 1370 <xsl:if test="contains($haserrors,'yes')!=0"> 1371 <xsl:variable name="erroridraw"> 1372 <xsl:apply-templates mode="errorid"/> 1373 </xsl:variable> 1374 <xsl:variable name="errorid" select="normalize-space($erroridraw)"/> 1375 <tr> 1376 <td> 1377 <a> 1378 <xsl:attribute name="href">#<xsl:value-of select="$errorid"/></xsl:attribute> 1379 <code> 1380 <xsl:value-of select="$errorid"/> 1381 </code> 1382 </a> 1383 </td> 1384 <td> 1385 <xsl:apply-templates mode="errordesc"> 1386 <xsl:with-param name="id" select="@id"/> 1387 </xsl:apply-templates> 1388 </td> 1389 </tr> 1390 </xsl:if> 1391</xsl:template> 1392 1393<xsl:template match="param" mode="errors2"> 1394 <xsl:variable name="haserrors2"> 1395 <xsl:apply-templates mode="haserrors2"/> 1396 </xsl:variable> 1397 <xsl:if test="contains($haserrors2,'yes')!=0"> 1398 <xsl:variable name="erroridraw2"> 1399 <xsl:apply-templates mode="errorid2"/> 1400 </xsl:variable> 1401 <xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/> 1402 <tr> 1403 <td> 1404 <a> 1405 <xsl:attribute name="href">#<xsl:value-of select="$errorid2"/></xsl:attribute> 1406 <code> 1407 <xsl:value-of select="$errorid2"/> 1408 </code> 1409 </a> 1410 </td> 1411 <td> 1412 <xsl:apply-templates mode="errordesc2"> 1413 <xsl:with-param name="id" select="@id"/> 1414 </xsl:apply-templates> 1415 </td> 1416 </tr> 1417 </xsl:if> 1418</xsl:template> 1419 1420<xsl:template match="description" mode="haserrors"> 1421</xsl:template> 1422 1423<xsl:template match="description" mode="errorid"> 1424</xsl:template> 1425 1426<xsl:template match="description" mode="errordesc"> 1427</xsl:template> 1428 1429<xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors"> 1430 yes 1431</xsl:template> 1432 1433<xsl:template match="jclass" mode="haserrors"> 1434 <xsl:if test="count(@method)=0"> 1435 yes 1436 </xsl:if> 1437</xsl:template> 1438 1439<xsl:template match="description|jclass|jfieldID|jrawMonitorID| 1440 jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean| 1441 char|uchar|size_t|void|varargs|struct| 1442 ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2"> 1443</xsl:template> 1444 1445<xsl:template match="jmethodID" mode="haserrors2"> 1446 <xsl:if test="count(@native)=1 and contains(@native,'error')"> 1447 yes 1448 </xsl:if> 1449</xsl:template> 1450 1451<xsl:template match="jthread" mode="haserrors2"> 1452 <xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''"> 1453 yes 1454 </xsl:if> 1455</xsl:template> 1456 1457<xsl:template match="jframeID" mode="haserrors2"> 1458 yes 1459</xsl:template> 1460 1461<xsl:template match="description" mode="errorid2"> 1462</xsl:template> 1463 1464<xsl:template match="description" mode="errordesc2"> 1465</xsl:template> 1466 1467<xsl:template match="jmethodID" mode="errorid"> 1468 <xsl:text>JVMTI_ERROR_INVALID_METHODID</xsl:text> 1469</xsl:template> 1470 1471<xsl:template match="jmethodID" mode="errorid2"> 1472 <xsl:text>JVMTI_ERROR_NATIVE_METHOD</xsl:text> 1473</xsl:template> 1474 1475<xsl:template match="jmethodID" mode="errordesc"> 1476 <xsl:param name="id"/> 1477 <xsl:apply-templates select="." mode="paramlink"/> 1478 <xsl:text> is not a jmethodID.</xsl:text> 1479</xsl:template> 1480 1481<xsl:template match="jmethodID" mode="errordesc2"> 1482 <xsl:param name="id"/> 1483 <xsl:apply-templates select="." mode="paramlink"/> 1484 <xsl:text> is a native method.</xsl:text> 1485</xsl:template> 1486 1487<xsl:template match="jfieldID" mode="errorid"> 1488 <xsl:text>JVMTI_ERROR_INVALID_FIELDID</xsl:text> 1489</xsl:template> 1490 1491<xsl:template match="jfieldID" mode="errordesc"> 1492 <xsl:param name="id"/> 1493 <xsl:apply-templates select="." mode="paramlink"/> 1494 <xsl:text> is not a jfieldID.</xsl:text> 1495</xsl:template> 1496 1497<xsl:template match="jframeID" mode="errorid"> 1498 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> 1499</xsl:template> 1500 1501<xsl:template match="jframeID" mode="errorid2"> 1502 <xsl:text>JVMTI_ERROR_NO_MORE_FRAMES</xsl:text> 1503</xsl:template> 1504 1505<xsl:template match="jframeID" mode="errordesc"> 1506 <xsl:param name="id"/> 1507 <xsl:apply-templates select="." mode="paramlink"/> 1508 <xsl:text> is less than zero.</xsl:text> 1509</xsl:template> 1510 1511<xsl:template match="jframeID" mode="errordesc2"> 1512 <xsl:param name="id"/> 1513 <xsl:text>There are no stack frames at the specified </xsl:text> 1514 <xsl:apply-templates select="." mode="paramlink"/> 1515 <xsl:text>.</xsl:text> 1516</xsl:template> 1517 1518<xsl:template match="jrawMonitorID" mode="errorid"> 1519 <xsl:text>JVMTI_ERROR_INVALID_MONITOR</xsl:text> 1520</xsl:template> 1521 1522<xsl:template match="jrawMonitorID" mode="errordesc"> 1523 <xsl:param name="id"/> 1524 <xsl:apply-templates select="." mode="paramlink"/> 1525 <xsl:text> is not a jrawMonitorID.</xsl:text> 1526</xsl:template> 1527 1528<xsl:template match="jclass" mode="errorid"> 1529 <xsl:text>JVMTI_ERROR_INVALID_CLASS</xsl:text> 1530</xsl:template> 1531 1532<xsl:template match="jclass" mode="errordesc"> 1533 <xsl:param name="id"/> 1534 <xsl:apply-templates select="." mode="paramlink"/> 1535 <xsl:text> is not a class object or the class has been unloaded.</xsl:text> 1536</xsl:template> 1537 1538<xsl:template match="jthread" mode="errorid"> 1539 <xsl:text>JVMTI_ERROR_INVALID_THREAD</xsl:text> 1540</xsl:template> 1541 1542<xsl:template match="jthread" mode="errorid2"> 1543 <xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text> 1544</xsl:template> 1545 1546<xsl:template match="jthread" mode="errordesc"> 1547 <xsl:param name="id"/> 1548 <xsl:apply-templates select="." mode="paramlink"/> 1549 <xsl:text> is not a thread object.</xsl:text> 1550</xsl:template> 1551 1552<xsl:template match="jthread" mode="errordesc2"> 1553 <xsl:param name="id"/> 1554 <xsl:apply-templates select="." mode="paramlink"/> 1555 <xsl:text> is not live (has not been started or is now dead).</xsl:text> 1556</xsl:template> 1557 1558<xsl:template match="jthreadGroup" mode="errorid"> 1559 <xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP</xsl:text> 1560</xsl:template> 1561 1562<xsl:template match="jthreadGroup" mode="errordesc"> 1563 <xsl:param name="id"/> 1564 <xsl:apply-templates select="." mode="paramlink"/> 1565 <xsl:text> is not a thread group object.</xsl:text> 1566</xsl:template> 1567 1568<xsl:template match="jobject" mode="errorid"> 1569 <xsl:text>JVMTI_ERROR_INVALID_OBJECT</xsl:text> 1570</xsl:template> 1571 1572<xsl:template match="jobject" mode="errordesc"> 1573 <xsl:param name="id"/> 1574 <xsl:apply-templates select="." mode="paramlink"/> 1575 <xsl:text> is not an object.</xsl:text> 1576</xsl:template> 1577 1578<xsl:template match="enum" mode="errorid"> 1579 <xsl:choose> 1580 <xsl:when test=".='jvmtiEvent'"> 1581 <xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE</xsl:text> 1582 </xsl:when> 1583 <xsl:otherwise> 1584 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> 1585 </xsl:otherwise> 1586 </xsl:choose> 1587</xsl:template> 1588 1589<xsl:template match="enum" mode="errordesc"> 1590 <xsl:param name="id"/> 1591 <xsl:apply-templates select="." mode="paramlink"/> 1592 <xsl:text> is not a </xsl:text> 1593 <xsl:value-of select="."/> 1594 <xsl:text>.</xsl:text> 1595</xsl:template> 1596 1597<xsl:template match="jlocation" mode="errorid"> 1598 <xsl:text>JVMTI_ERROR_INVALID_LOCATION</xsl:text> 1599</xsl:template> 1600 1601<xsl:template match="jlocation" mode="errordesc"> 1602 <xsl:param name="id"/> 1603 <xsl:apply-templates select="." mode="paramlink"/> 1604 <xsl:text> is not a valid location.</xsl:text> 1605</xsl:template> 1606 1607<xsl:template match="jint" mode="haserrors"> 1608 <xsl:if test="count(@min)=1"> 1609 yes 1610 </xsl:if> 1611</xsl:template> 1612 1613<xsl:template match="jint" mode="errorid"> 1614 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text> 1615</xsl:template> 1616 1617<xsl:template match="jint" mode="errordesc"> 1618 <xsl:param name="id"/> 1619 <xsl:apply-templates select="." mode="paramlink"/> 1620 <xsl:text> is less than </xsl:text> 1621 <code><xsl:value-of select="@min"/></code> 1622 <xsl:text>.</xsl:text> 1623</xsl:template> 1624 1625<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors"> 1626</xsl:template> 1627 1628<xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc"> 1629 <xsl:param name="id"/> 1630 <xsl:message terminate="yes"> 1631 attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/> 1632 </xsl:message> 1633</xsl:template> 1634 1635<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors"> 1636 <xsl:if test="count(nullok)=0"> 1637 yes 1638 </xsl:if> 1639</xsl:template> 1640 1641<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid"> 1642 <xsl:text>JVMTI_ERROR_NULL_POINTER</xsl:text> 1643</xsl:template> 1644 1645<xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc"> 1646 <xsl:param name="id"/> 1647 <xsl:if test="count(nullok)=1"> 1648 <xsl:message terminate="yes"> 1649 attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/> 1650 </xsl:message> 1651 </xsl:if> 1652 <xsl:apply-templates select="." mode="paramlink"/> 1653 <xsl:text> is </xsl:text> 1654 <code>NULL</code> 1655 <xsl:text>.</xsl:text> 1656</xsl:template> 1657 1658<xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jint|jclass|jthread|jthreadGroup|jobject|enum|jlocation|ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="paramlink"> 1659 <a> 1660 <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="ancestor::param/@id"/> 1661 </xsl:attribute> 1662 <code> 1663 <xsl:value-of select="ancestor::param/@id"/> 1664 </code> 1665 </a> 1666</xsl:template> 1667 1668<xsl:template match="error" mode="haserrors"> 1669 yes 1670</xsl:template> 1671 1672<xsl:template match="error"> 1673 <tr> 1674 <td> 1675 <a> 1676 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute> 1677 <code> 1678 <xsl:value-of select="@id"/> 1679 </code> 1680 </a> 1681 </td> 1682 <td> 1683 <xsl:apply-templates/> 1684 </td> 1685 </tr> 1686</xsl:template> 1687 1688<xsl:template match="errorsection"> 1689 <p/> 1690 <hr noshade="noshade" size="3"/> 1691 <h2> 1692 Errors 1693 </h2> 1694 <p/> 1695 <xsl:apply-templates select="intro"/> 1696 <p/> 1697 <xsl:apply-templates select="errorcategory"/> 1698 <p/> 1699</xsl:template> 1700 1701<xsl:template match="datasection"> 1702 <p/> 1703 <hr noshade="noshade" size="3"/> 1704 <h2> 1705 Data Types 1706 </h2> 1707 <p/> 1708 <xsl:apply-templates select="intro"/> 1709 <xsl:apply-templates select="basetypes"/> 1710 <p/> 1711 <a name="StructureTypeDefinitions"></a> 1712 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1713 <tr bgcolor="#CCCCFF"> 1714 <td colspan="2" align="center" class="tableHeader"> 1715 Structure Type Definitions 1716 </td> 1717 </tr> 1718 <tr bgcolor="#EEEEFF"> 1719 <td> 1720 Type 1721 </td> 1722 <td> 1723 Description 1724 </td> 1725 </tr> 1726 <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry"> 1727 <xsl:sort select="@id"/> 1728 </xsl:apply-templates> 1729 </table> 1730 <p/> 1731 <a name="FunctionTypeDefinitions"></a> 1732 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1733 <tr bgcolor="#CCCCFF"> 1734 <td colspan="2" align="center" class="tableHeader"> 1735 Function Type Definitions 1736 </td> 1737 </tr> 1738 <tr bgcolor="#EEEEFF"> 1739 <td> 1740 Type 1741 </td> 1742 <td> 1743 Description 1744 </td> 1745 </tr> 1746 <xsl:apply-templates select="//callback" mode="tableentry"> 1747 <xsl:sort select="@id"/> 1748 </xsl:apply-templates> 1749 </table> 1750 <p/> 1751 <a name="EnumerationDefinitions"></a> 1752 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1753 <tr bgcolor="#CCCCFF"> 1754 <td colspan="2" align="center" class="tableHeader"> 1755 Enumeration Definitions 1756 </td> 1757 </tr> 1758 <tr bgcolor="#EEEEFF"> 1759 <td> 1760 Type 1761 </td> 1762 <td> 1763 Description 1764 </td> 1765 </tr> 1766 <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry"> 1767 <xsl:sort select="@id"/> 1768 </xsl:apply-templates> 1769 </table> 1770 <p/> 1771 <a name="FunctionTable"></a> 1772 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1773 <tr bgcolor="#CCCCFF"> 1774 <td colspan="3" align="center" class="tableHeader"> 1775 Function Table Layout 1776 </td> 1777 </tr> 1778 <tr bgcolor="#EEEEFF"> 1779 <td> 1780 Position 1781 </td> 1782 <td> 1783 Function 1784 </td> 1785 <td> 1786 Declaration 1787 </td> 1788 </tr> 1789 <xsl:call-template name="funcStruct"> 1790 <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/> 1791 <xsl:with-param name="index" select="1"/> 1792 </xsl:call-template> 1793 </table> 1794 <p/> 1795</xsl:template> 1796 1797 1798<xsl:template name="funcStruct"> 1799 <xsl:param name="funcs"/> 1800 <xsl:param name="index"/> 1801 <xsl:variable name="thisFunction" select="$funcs[@num=$index]"/> 1802 <tr> 1803 <td align="right"> 1804 <xsl:number value="$index" format=" 1"/> 1805 </td> 1806 <xsl:choose> 1807 <xsl:when test="count($thisFunction)=1"> 1808 <td> 1809 <a> 1810 <xsl:attribute name="href"> 1811 <xsl:text>#</xsl:text> 1812 <xsl:value-of select="$thisFunction/@id"/> 1813 </xsl:attribute> 1814 <xsl:value-of select="$thisFunction/synopsis"/> 1815 </a> 1816 </td> 1817 <td> 1818 <pre> 1819 <xsl:text>jvmtiError (JNICALL *</xsl:text> 1820 <xsl:value-of select="$thisFunction/@id"/> 1821 <xsl:text>) (jvmtiEnv* env</xsl:text> 1822 <xsl:apply-templates select="$thisFunction/parameters" mode="signature"> 1823 <xsl:with-param name="comma"> 1824 <xsl:text>, 
 </xsl:text> 1825 </xsl:with-param> 1826 </xsl:apply-templates> 1827 <xsl:text>);</xsl:text> 1828 </pre> 1829 </td> 1830 </xsl:when> 1831 <xsl:otherwise> 1832 <xsl:if test="count($thisFunction) != 0"> 1833 <xsl:message terminate="yes"> 1834 More than one function has index number <xsl:number value="$index" format=" 1"/>. 1835 </xsl:message> 1836 </xsl:if> 1837 <td> 1838 <i>reserved</i> 1839 </td> 1840 <td> 1841 <pre> 1842 <xsl:text>void *reserved</xsl:text> 1843 <xsl:value-of select="$index"/> 1844 <xsl:text>;</xsl:text> 1845 </pre> 1846 </td> 1847 </xsl:otherwise> 1848 </xsl:choose> 1849 </tr> 1850 <xsl:if test="count($funcs[@num > $index]) > 0"> 1851 <xsl:call-template name="funcStruct"> 1852 <xsl:with-param name="funcs" select="$funcs"/> 1853 <xsl:with-param name="index" select="1+$index"/> 1854 </xsl:call-template> 1855 </xsl:if> 1856</xsl:template> 1857 1858 1859 1860<xsl:template match="errorcategory"> 1861 <h3> 1862 <xsl:attribute name="id"> 1863 <xsl:value-of select="@id"/> 1864 </xsl:attribute> 1865 <xsl:value-of select="@label"/> 1866 </h3> 1867 <xsl:apply-templates select="intro"/> 1868 <p/> 1869 <dl> 1870 <xsl:apply-templates select="errorid"/> 1871 </dl> 1872 <p/> 1873</xsl:template> 1874 1875<xsl:template match="errorid"> 1876 <dt> 1877 <code> 1878 <xsl:attribute name="id"> 1879 <xsl:value-of select="@id"/> 1880 </xsl:attribute> 1881 <xsl:value-of select="@id"/> (<xsl:value-of select="@num"/>) 1882 </code> 1883 </dt> 1884 <dd> 1885 <xsl:apply-templates/> 1886 <p/> 1887 </dd> 1888</xsl:template> 1889 1890<xsl:template match="changehistory"> 1891 <p/><hr noshade="noshade" size="3"/> 1892 <h2>Change History</h2> 1893 Last update: <xsl:value-of select="@update"/><br/> 1894 Version: <xsl:call-template name="showversion"/> 1895 <p/> 1896 <xsl:apply-templates select="intro"/> 1897 <p/> 1898 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1899 <tr bgcolor="#EEEEFF"> 1900 <td> 1901 <b>Version</b><br/> 1902 <b>Date</b> 1903 </td> 1904 <td> 1905 <b>Changes</b> 1906 </td> 1907 </tr> 1908 <xsl:apply-templates select="change"/> 1909 </table> 1910</xsl:template> 1911 1912<xsl:template match="change"> 1913 <tr> 1914 <td> 1915 <xsl:if test="count(@version)"> 1916 <b> 1917 <xsl:value-of select="@version"/> 1918 </b> 1919 <br/> 1920 </xsl:if> 1921 <xsl:value-of select="@date"/> 1922 </td> 1923 <td> 1924 <xsl:apply-templates/> 1925 </td> 1926 </tr> 1927</xsl:template> 1928 1929<xsl:template match="intro"> 1930 <xsl:if test="@id!=''"> 1931 <xsl:choose> 1932 <xsl:when test="@label!=''"> 1933 <h4> 1934 <xsl:attribute name="id"> 1935 <xsl:value-of select="@id"/> 1936 </xsl:attribute> 1937 <xsl:value-of select="@label"/> 1938 </h4> 1939 </xsl:when> 1940 <xsl:otherwise> 1941 <a> 1942 <xsl:attribute name="name"> 1943 <xsl:value-of select="@id"/> 1944 </xsl:attribute> 1945 </a> 1946 </xsl:otherwise> 1947 </xsl:choose> 1948 </xsl:if> 1949 <xsl:apply-templates/> 1950</xsl:template> 1951 1952<xsl:template match="issue"> 1953 <xsl:if test="$development = 'Show'"> 1954 <p style="color: red"> 1955 To be resolved: 1956 <xsl:apply-templates/> 1957 </p> 1958 </xsl:if> 1959</xsl:template> 1960 1961<xsl:template match="rationale"> 1962 <p style="color: purple"> 1963 Rationale: 1964 <xsl:apply-templates/> 1965 </p> 1966</xsl:template> 1967 1968<xsl:template match="todo"> 1969 <xsl:if test="$development = 'Show'"> 1970 <p style="color: green"> 1971 To do: 1972 <xsl:apply-templates/> 1973 </p> 1974 </xsl:if> 1975</xsl:template> 1976 1977<xsl:template match="elide"> 1978</xsl:template> 1979 1980<xsl:template match="b"> 1981 <b> 1982 <xsl:apply-templates/> 1983 </b> 1984</xsl:template> 1985 1986<xsl:template match="example"> 1987 <blockquote> 1988 <pre> 1989 <xsl:apply-templates/> 1990 </pre> 1991 </blockquote> 1992</xsl:template> 1993 1994 1995<xsl:template match="table"> 1996 <table border="1" cellpadding="3" cellspacing="0" width="100%"> 1997 <xsl:apply-templates/> 1998 </table> 1999</xsl:template> 2000 2001<xsl:template match="tr"> 2002 <tr> 2003 <xsl:apply-templates/> 2004 </tr> 2005</xsl:template> 2006 2007<xsl:template match="td"> 2008 <td> 2009 <xsl:attribute name="align"> 2010 <xsl:value-of select="@align"/> 2011 </xsl:attribute> 2012 <xsl:apply-templates/> 2013 </td> 2014</xsl:template> 2015 2016<xsl:template match="th"> 2017 <th bgcolor="#EEEEFF"> 2018 <xsl:attribute name="align"> 2019 <xsl:value-of select="@align"/> 2020 </xsl:attribute> 2021 <xsl:apply-templates/> 2022 </th> 2023</xsl:template> 2024 2025<xsl:template match="dl"> 2026 <dl> 2027 <xsl:apply-templates/> 2028 </dl> 2029</xsl:template> 2030 2031<xsl:template match="dt"> 2032 <dt> 2033 <xsl:apply-templates/> 2034 </dt> 2035</xsl:template> 2036 2037<xsl:template match="dd"> 2038 <dd> 2039 <xsl:apply-templates/> 2040 </dd> 2041</xsl:template> 2042 2043<xsl:template match="p"> 2044 <p> 2045 <xsl:apply-templates/> 2046 </p> 2047</xsl:template> 2048 2049<xsl:template match="br"> 2050 <br> 2051 <xsl:apply-templates/> 2052 </br> 2053</xsl:template> 2054 2055<xsl:template match="ul"> 2056 <ul> 2057 <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> 2058 <xsl:apply-templates/> 2059 </ul> 2060</xsl:template> 2061 2062<xsl:template match="li"> 2063 <li> 2064 <xsl:apply-templates/> 2065 </li> 2066</xsl:template> 2067 2068<xsl:template match="code"> 2069 <code> 2070 <xsl:apply-templates/> 2071 </code> 2072</xsl:template> 2073 2074<xsl:template match="tm"> 2075 <xsl:apply-templates/> 2076 <sup style="font-size: xx-small"> 2077 <xsl:text>TM</xsl:text> 2078 </sup> 2079 <xsl:text> </xsl:text> 2080</xsl:template> 2081 2082<xsl:template match="b"> 2083 <b> 2084 <xsl:apply-templates/> 2085 </b> 2086</xsl:template> 2087 2088<xsl:template match="i"> 2089 <i> 2090 <xsl:apply-templates/> 2091 </i> 2092</xsl:template> 2093 2094<xsl:template match="space"> 2095 <xsl:text> </xsl:text> 2096</xsl:template> 2097 2098<xsl:template match="jvmti"> 2099 <xsl:text>JVM</xsl:text><small style="font-size: xx-small"> </small><xsl:text>TI</xsl:text> 2100</xsl:template> 2101 2102 2103</xsl:stylesheet> 2104