1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  */
18 package org.apache.bcel.generic;
19 
20 import java.io.IOException;
21 
22 import org.apache.bcel.util.ByteSequence;
23 
24 /**
25  * LDC_W - Push item from constant pool (wide index)
26  *
27  * <PRE>Stack: ... -&gt; ..., item.word1, item.word2</PRE>
28  *
29  * @version $Id$
30  */
31 public class LDC_W extends LDC {
32 
33     /**
34      * Empty constructor needed for Instruction.readInstruction.
35      * Not to be used otherwise.
36      */
LDC_W()37     LDC_W() {
38     }
39 
40 
LDC_W(final int index)41     public LDC_W(final int index) {
42         super(index);
43     }
44 
45 
46     /**
47      * Read needed data (i.e., index) from file.
48      */
49     @Override
initFromFile( final ByteSequence bytes, final boolean wide )50     protected void initFromFile( final ByteSequence bytes, final boolean wide ) throws IOException {
51         setIndex(bytes.readUnsignedShort());
52         // Override just in case it has been changed
53         super.setOpcode(org.apache.bcel.Const.LDC_W);
54         super.setLength(3);
55     }
56 }
57