agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 781,809 **** buf.endTable(); } }); // display exception table for this method ! TypeArray exceptionTable = method.getExceptionTable(); ! // exception table is 4 tuple array of shorts ! int numEntries = (int)exceptionTable.getLength() / 4; if (numEntries != 0) { buf.h4("Exception Table"); buf.beginTable(1); buf.beginTag("tr"); buf.headerCell("start bci"); buf.headerCell("end bci"); buf.headerCell("handler bci"); buf.headerCell("catch type"); buf.endTag("tr"); ! for (int e = 0; e < numEntries; e += 4) { buf.beginTag("tr"); ! buf.cell(Integer.toString(exceptionTable.getIntAt(e))); ! buf.cell(Integer.toString(exceptionTable.getIntAt(e + 1))); ! buf.cell(Integer.toString(exceptionTable.getIntAt(e + 2))); ! short cpIndex = (short) exceptionTable.getIntAt(e + 3); ConstantPool.CPSlot obj = cpIndex == 0? null : cpool.getSlotAt(cpIndex); if (obj == null) { buf.cell("Any"); } else if (obj.isMetaData()) { buf.cell(obj.getSymbol().asString().replace('/', '.')); --- 781,810 ---- buf.endTable(); } }); // display exception table for this method ! boolean hasException = method.hasExceptionTable(); ! if (hasException) { ! ExceptionTableElement[] exceptionTable = method.getExceptionTable(); ! int numEntries = exceptionTable.length; if (numEntries != 0) { buf.h4("Exception Table"); buf.beginTable(1); buf.beginTag("tr"); buf.headerCell("start bci"); buf.headerCell("end bci"); buf.headerCell("handler bci"); buf.headerCell("catch type"); buf.endTag("tr"); ! for (int e = 0; e < numEntries; e ++) { buf.beginTag("tr"); ! buf.cell(Integer.toString(exceptionTable[e].getStartPC())); ! buf.cell(Integer.toString(exceptionTable[e].getEndPC())); ! buf.cell(Integer.toString(exceptionTable[e].getHandlerPC())); ! short cpIndex = (short) exceptionTable[e].getCatchTypeIndex(); ConstantPool.CPSlot obj = cpIndex == 0? null : cpool.getSlotAt(cpIndex); if (obj == null) { buf.cell("Any"); } else if (obj.isMetaData()) { buf.cell(obj.getSymbol().asString().replace('/', '.'));
*** 813,822 **** --- 814,824 ---- buf.endTag("tr"); } buf.endTable(); } + } // display constant pool hyperlink buf.h3("Constant Pool"); buf.append(genConstantPoolLink(cpool)); buf.genHTMLEpilogue();