01: /* ===========================================================================
02: * $RCSfile: LongCpInfo.java,v $
03: * ===========================================================================
04: *
05: * RetroGuard -- an obfuscation package for Java classfiles.
06: *
07: * Copyright (c) 1998-2006 Mark Welsh (markw@retrologic.com)
08: *
09: * This program can be redistributed and/or modified under the terms of the
10: * Version 2 of the GNU General Public License as published by the Free
11: * Software Foundation.
12: *
13: * This program is distributed in the hope that it will be useful,
14: * but WITHOUT ANY WARRANTY; without even the implied warranty of
15: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: * GNU General Public License for more details.
17: *
18: */
19:
20: package COM.rl.obf.classfile;
21:
22: import java.io.*;
23: import java.util.*;
24:
25: /**
26: * Representation of a 'long' entry in the ConstantPool (takes up two indices).
27: *
28: * @author Mark Welsh
29: */
30: public class LongCpInfo extends CpInfo {
31: // Constants -------------------------------------------------------------
32:
33: // Fields ----------------------------------------------------------------
34: private int u4highBytes;
35: private int u4lowBytes;
36:
37: // Class Methods ---------------------------------------------------------
38:
39: // Instance Methods ------------------------------------------------------
40: protected LongCpInfo() {
41: super (CONSTANT_Long);
42: }
43:
44: /** Read the 'info' data following the u1tag byte. */
45: protected void readInfo(DataInput din) throws Exception {
46: u4highBytes = din.readInt();
47: u4lowBytes = din.readInt();
48: }
49:
50: /** Write the 'info' data following the u1tag byte. */
51: protected void writeInfo(DataOutput dout) throws Exception {
52: dout.writeInt(u4highBytes);
53: dout.writeInt(u4lowBytes);
54: }
55: }
|