Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ConstantPool.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ConstantPool.java104
1 files changed, 0 insertions, 104 deletions
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ConstantPool.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ConstantPool.java
deleted file mode 100644
index a6c585ab2..000000000
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ConstantPool.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.internal.repository.comparator.java;
-
-public class ConstantPool extends ClassFileStruct {
-
- private int constantPoolCount;
- private int[] constantPoolOffset;
- private byte[] classFileBytes;
-
- ConstantPool(byte[] reference, int[] constantPoolOffset) {
- this.constantPoolCount = constantPoolOffset.length;
- this.constantPoolOffset = constantPoolOffset;
- this.classFileBytes = reference;
- }
-
- /*
- * @see IConstantPool#decodeEntry(int)
- */
- public ConstantPoolEntry decodeEntry(int index) {
- ConstantPoolEntry constantPoolEntry = new ConstantPoolEntry();
- constantPoolEntry.reset();
- int kind = getEntryKind(index);
- constantPoolEntry.setKind(kind);
- switch (kind) {
- case ConstantPoolConstant.CONSTANT_Class :
- constantPoolEntry.setClassInfoNameIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- constantPoolEntry.setClassInfoName(getUtf8ValueAt(constantPoolEntry.getClassInfoNameIndex()));
- break;
- case ConstantPoolConstant.CONSTANT_Double :
- constantPoolEntry.setDoubleValue(doubleAt(this.classFileBytes, 1, this.constantPoolOffset[index]));
- break;
- case ConstantPoolConstant.CONSTANT_Fieldref :
- constantPoolEntry.setClassIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- int declaringClassIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getClassIndex()]);
- constantPoolEntry.setClassName(getUtf8ValueAt(declaringClassIndex));
- constantPoolEntry.setNameAndTypeIndex(u2At(this.classFileBytes, 3, this.constantPoolOffset[index]));
- int fieldNameIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
- int fieldDescriptorIndex = u2At(this.classFileBytes, 3, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
- constantPoolEntry.setFieldName(getUtf8ValueAt(fieldNameIndex));
- constantPoolEntry.setFieldDescriptor(getUtf8ValueAt(fieldDescriptorIndex));
- break;
- case ConstantPoolConstant.CONSTANT_Methodref :
- case ConstantPoolConstant.CONSTANT_InterfaceMethodref :
- constantPoolEntry.setClassIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- declaringClassIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getClassIndex()]);
- constantPoolEntry.setClassName(getUtf8ValueAt(declaringClassIndex));
- constantPoolEntry.setNameAndTypeIndex(u2At(this.classFileBytes, 3, this.constantPoolOffset[index]));
- int methodNameIndex = u2At(this.classFileBytes, 1, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
- int methodDescriptorIndex = u2At(this.classFileBytes, 3, this.constantPoolOffset[constantPoolEntry.getNameAndTypeIndex()]);
- constantPoolEntry.setMethodName(getUtf8ValueAt(methodNameIndex));
- constantPoolEntry.setMethodDescriptor(getUtf8ValueAt(methodDescriptorIndex));
- break;
- case ConstantPoolConstant.CONSTANT_Float :
- constantPoolEntry.setFloatValue(floatAt(this.classFileBytes, 1, this.constantPoolOffset[index]));
- break;
- case ConstantPoolConstant.CONSTANT_Integer :
- constantPoolEntry.setIntegerValue(i4At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- break;
- case ConstantPoolConstant.CONSTANT_Long :
- constantPoolEntry.setLongValue(i8At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- break;
- case ConstantPoolConstant.CONSTANT_NameAndType :
- constantPoolEntry.setNameAndTypeNameIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- constantPoolEntry.setNameAndTypeDescriptorIndex(u2At(this.classFileBytes, 3, this.constantPoolOffset[index]));
- break;
- case ConstantPoolConstant.CONSTANT_String :
- constantPoolEntry.setStringIndex(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- constantPoolEntry.setStringValue(getUtf8ValueAt(constantPoolEntry.getStringIndex()));
- break;
- case ConstantPoolConstant.CONSTANT_Utf8 :
- constantPoolEntry.setUtf8Length(u2At(this.classFileBytes, 1, this.constantPoolOffset[index]));
- constantPoolEntry.setUtf8Value(getUtf8ValueAt(index));
- }
- return constantPoolEntry;
- }
-
- /*
- * @see IConstantPool#getConstantPoolCount()
- */
- public int getConstantPoolCount() {
- return this.constantPoolCount;
- }
-
- /*
- * @see IConstantPool#getEntryKind(int)
- */
- public int getEntryKind(int index) {
- return u1At(this.classFileBytes, 0, this.constantPoolOffset[index]);
- }
-
- private char[] getUtf8ValueAt(int utf8Index) {
- int utf8Offset = this.constantPoolOffset[utf8Index];
- return utf8At(this.classFileBytes, 0, utf8Offset + 3, u2At(this.classFileBytes, 0, utf8Offset + 1));
- }
-}

Back to the top