javap/src/main/java/org/apidesign/javap/TrapData.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 07 Feb 2013 12:58:12 +0100
branchemul
changeset 694 0d277415ed02
parent 287 6f696a0ef12f
permissions -rw-r--r--
Rebasing the Inflater support on jzlib which, unlike GNU ClassPath, has correct implementation of Huffman code. Making the implementation more easily testable by turning Inflater and ZipInputStream into pure delegates. Current implementation is going to need proper long support.
jtulach@144
     1
/*
jtulach@144
     2
 * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
jtulach@144
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
jtulach@144
     4
 *
jtulach@144
     5
 * This code is free software; you can redistribute it and/or modify it
jtulach@144
     6
 * under the terms of the GNU General Public License version 2 only, as
jtulach@144
     7
 * published by the Free Software Foundation.  Oracle designates this
jtulach@144
     8
 * particular file as subject to the "Classpath" exception as provided
jtulach@144
     9
 * by Oracle in the LICENSE file that accompanied this code.
jtulach@144
    10
 *
jtulach@144
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
jtulach@144
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
jtulach@144
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
jtulach@144
    14
 * version 2 for more details (a copy is included in the LICENSE file that
jtulach@144
    15
 * accompanied this code).
jtulach@144
    16
 *
jtulach@144
    17
 * You should have received a copy of the GNU General Public License version
jtulach@144
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
jtulach@144
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
jtulach@144
    20
 *
jtulach@144
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
jtulach@144
    22
 * or visit www.oracle.com if you need additional information or have any
jtulach@144
    23
 * questions.
jtulach@144
    24
 */
jtulach@144
    25
jtulach@144
    26
jtulach@167
    27
package org.apidesign.javap;
jtulach@144
    28
jtulach@144
    29
import java.io.*;
jtulach@144
    30
jtulach@144
    31
/**
jtulach@144
    32
 * Stores exception table data in code attribute.
jtulach@144
    33
 *
jtulach@144
    34
 * @author  Sucheta Dambalkar (Adopted code from jdis)
jtulach@144
    35
 */
jaroslav@288
    36
public final class TrapData {
tzezula@287
    37
  public final short start_pc;
tzezula@287
    38
  public final short end_pc;
tzezula@287
    39
  public final short handler_pc;
tzezula@287
    40
  public final short catch_cpx;
tzezula@287
    41
  final int num;
jtulach@144
    42
jtulach@144
    43
jtulach@144
    44
    /**
jtulach@144
    45
     * Read and store exception table data in code attribute.
jtulach@144
    46
     */
jaroslav@288
    47
    TrapData(DataInputStream in, int num) throws IOException {
jtulach@144
    48
        this.num=num;
jtulach@144
    49
        start_pc = in.readShort();
jtulach@144
    50
        end_pc=in.readShort();
jtulach@144
    51
        handler_pc=in.readShort();
jtulach@144
    52
        catch_cpx=in.readShort();
jtulach@144
    53
    }
jtulach@144
    54
jtulach@144
    55
    /**
jtulach@144
    56
     * returns recommended identifier
jtulach@144
    57
     */
jtulach@144
    58
    public String ident() {
jtulach@144
    59
        return "t"+num;
jtulach@144
    60
    }
jtulach@144
    61
jtulach@144
    62
}