diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPoolEntry.java')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPoolEntry.java | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPoolEntry.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPoolEntry.java deleted file mode 100644 index 26a0d094..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/depend/constantpool/ConstantPoolEntry.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.apache.tools.ant.taskdefs.optional.depend.constantpool; - -import java.io.DataInputStream; -import java.io.IOException; - -/** - * An entry in the constant pool. This class contains a representation of the - * constant pool entries. It is an abstract base class for all the different - * forms of constant pool entry. - * - * @see ConstantPool - */ -public abstract class ConstantPoolEntry { - - /** Tag value for UTF8 entries. */ - public static final int CONSTANT_UTF8 = 1; - - /** Tag value for Integer entries. */ - public static final int CONSTANT_INTEGER = 3; - - /** Tag value for Float entries. */ - public static final int CONSTANT_FLOAT = 4; - - /** Tag value for Long entries. */ - public static final int CONSTANT_LONG = 5; - - /** Tag value for Double entries. */ - public static final int CONSTANT_DOUBLE = 6; - - /** Tag value for Class entries. */ - public static final int CONSTANT_CLASS = 7; - - /** Tag value for String entries. */ - public static final int CONSTANT_STRING = 8; - - /** Tag value for Field Reference entries. */ - public static final int CONSTANT_FIELDREF = 9; - - /** Tag value for Method Reference entries. */ - public static final int CONSTANT_METHODREF = 10; - - /** Tag value for Interface Method Reference entries. */ - public static final int CONSTANT_INTERFACEMETHODREF = 11; - - /** Tag value for Name and Type entries. */ - public static final int CONSTANT_NAMEANDTYPE = 12; - - /** Tag value for Method Handle entries */ - public static final int CONSTANT_METHODHANDLE = 15; - - /** Tag value for Method Type entries */ - public static final int CONSTANT_METHODTYPE = 16; - - /** Tag value for InvokeDynamic entries*/ - public static final int CONSTANT_INVOKEDYNAMIC = 18; - - /** - * This entry's tag which identifies the type of this constant pool - * entry. - */ - private int tag; - - /** - * The number of slots in the constant pool, occupied by this entry. - */ - private int numEntries; - - /** - * A flag which indicates if this entry has been resolved or not. - */ - private boolean resolved; - - /** - * Initialise the constant pool entry. - * - * @param tagValue the tag value which identifies which type of constant - * pool entry this is. - * @param entries the number of constant pool entry slots this entry - * occupies. - */ - public ConstantPoolEntry(int tagValue, int entries) { - tag = tagValue; - numEntries = entries; - resolved = false; - } - - /** - * Read a constant pool entry from a stream. This is a factory method - * which reads a constant pool entry form a stream and returns the - * appropriate subclass for the entry. - * - * @param cpStream the stream from which the constant pool entry is to - * be read. - * @return the appropriate ConstantPoolEntry subclass representing the - * constant pool entry from the stream. - * @exception IOException if the constant pool entry cannot be read - * from the stream - */ - public static ConstantPoolEntry readEntry(DataInputStream cpStream) - throws IOException { - ConstantPoolEntry cpInfo = null; - int cpTag = cpStream.readUnsignedByte(); - - switch (cpTag) { - - case CONSTANT_UTF8: - cpInfo = new Utf8CPInfo(); - - break; - case CONSTANT_INTEGER: - cpInfo = new IntegerCPInfo(); - - break; - case CONSTANT_FLOAT: - cpInfo = new FloatCPInfo(); - - break; - case CONSTANT_LONG: - cpInfo = new LongCPInfo(); - - break; - case CONSTANT_DOUBLE: - cpInfo = new DoubleCPInfo(); - - break; - case CONSTANT_CLASS: - cpInfo = new ClassCPInfo(); - - break; - case CONSTANT_STRING: - cpInfo = new StringCPInfo(); - - break; - case CONSTANT_FIELDREF: - cpInfo = new FieldRefCPInfo(); - - break; - case CONSTANT_METHODREF: - cpInfo = new MethodRefCPInfo(); - - break; - case CONSTANT_INTERFACEMETHODREF: - cpInfo = new InterfaceMethodRefCPInfo(); - - break; - case CONSTANT_NAMEANDTYPE: - cpInfo = new NameAndTypeCPInfo(); - - break; - case CONSTANT_METHODHANDLE: - cpInfo = new MethodHandleCPInfo(); - - break; - case CONSTANT_METHODTYPE: - cpInfo = new MethodTypeCPInfo(); - - break; - case CONSTANT_INVOKEDYNAMIC: - cpInfo = new InvokeDynamicCPInfo(); - - break; - default: - throw new ClassFormatError("Invalid Constant Pool entry Type " - + cpTag); - } - - cpInfo.read(cpStream); - - return cpInfo; - } - - /** - * Indicates whether this entry has been resolved. In general a constant - * pool entry can reference another constant pool entry by its index - * value. Resolution involves replacing this index value with the - * constant pool entry at that index. - * - * @return true if this entry has been resolved. - */ - public boolean isResolved() { - return resolved; - } - - /** - * Resolve this constant pool entry with respect to its dependents in - * the constant pool. - * - * @param constantPool the constant pool of which this entry is a member - * and against which this entry is to be resolved. - */ - public void resolve(ConstantPool constantPool) { - resolved = true; - } - - /** - * read a constant pool entry from a class stream. - * - * @param cpStream the DataInputStream which contains the constant pool - * entry to be read. - * @exception IOException if there is a problem reading the entry from - * the stream. - */ - public abstract void read(DataInputStream cpStream) throws IOException; - - /** - * Get the Entry's type tag. - * - * @return The Tag value of this entry - */ - public int getTag() { - return tag; - } - - /** - * Get the number of Constant Pool Entry slots within the constant pool - * occupied by this entry. - * - * @return the number of slots used. - */ - public final int getNumEntries() { - return numEntries; - } - -} - |