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