org.eclipse.equinox.p2.repository.tools_2.0.100.v20110815-1438

AD_2 = 44;
  public static final int ALOAD_3 = 45;
  public static final int IALOAD = 46;
  public static final int LALOAD = 47;
  public static final int FALOAD = 48;
  public static final int DALOAD = 49;
  public static final int AALOAD = 50;
  public static final int BALOAD = 51;
  public static final int CALOAD = 52;
  public static final int SALOAD = 53;
  public static final int ISTORE = 54;
  public static final int LSTORE = 55;
  public static final int FSTORE = 56;
  public static final int DSTORE = 57;
  public static final int ASTORE = 58;
  public static final int ISTORE_0 = 59;
  public static final int ISTORE_1 = 60;
  public static final int ISTORE_2 = 61;
  public static final int ISTORE_3 = 62;
  public static final int LSTORE_0 = 63;
  public static final int LSTORE_1 = 64;
  public static final int LSTORE_2 = 65;
  public static final int LSTORE_3 = 66;
  public static final int FSTORE_0 = 67;
  public static final int FSTORE_1 = 68;
  public static final int FSTORE_2 = 69;
  public static final int FSTORE_3 = 70;
  public static final int DSTORE_0 = 71;
  public static final int DSTORE_1 = 72;
  public static final int DSTORE_2 = 73;
  public static final int DSTORE_3 = 74;
  public static final int ASTORE_0 = 75;
  public static final int ASTORE_1 = 76;
  public static final int ASTORE_2 = 77;
  public static final int ASTORE_3 = 78;
  public static final int IASTORE = 79;
  public static final int LASTORE = 80;
  public static final int FASTORE = 81;
  public static final int DASTORE = 82;
  public static final int AASTORE = 83;
  public static final int BASTORE = 84;
  public static final int CASTORE = 85;
  public static final int SASTORE = 86;
  public static final int POP = 87;
  public static final int POP2 = 88;
  public static final int DUP = 89;
  public static final int DUP_X1 = 90;
  public static final int DUP_X2 = 91;
  public static final int DUP2 = 92;
  public static final int DUP2_X1 = 93;
  public static final int DUP2_X2 = 94;
  public static final int SWAP = 95;
  public static final int IADD = 96;
  public static final int LADD = 97;
  public static final int FADD = 98;
  public static final int DADD = 99;
  public static final int ISUB = 100;
  public static final int LSUB = 101;
  public static final int FSUB = 102;
  public static final int DSUB = 103;
  public static final int IMUL = 104;
  public static final int LMUL = 105;
  public static final int FMUL = 106;
  public static final int DMUL = 107;
  public static final int IDIV = 108;
  public static final int LDIV = 109;
  public static final int FDIV = 110;
  public static final int DDIV = 111;
  public static final int IREM = 112;
  public static final int LREM = 113;
  public static final int FREM = 114;
  public static final int DREM = 115;
  public static final int INEG = 116;
  public static final int LNEG = 117;
  public static final int FNEG = 118;
  public static final int DNEG = 119;
  public static final int ISHL = 120;
  public static final int LSHL = 121;
  public static final int ISHR = 122;
  public static final int LSHR = 123;
  public static final int IUSHR = 124;
  public static final int LUSHR = 125;
  public static final int IAND = 126;
  public static final int LAND = 127;
  public static final int IOR = 128;
  public static final int LOR = 129;
  public static final int IXOR = 130;
  public static final int LXOR = 131;
  public static final int IINC = 132;
  public static final int I2L = 133;
  public static final int I2F = 134;
  public static final int I2D = 135;
  public static final int L2I = 136;
  public static final int L2F = 137;
  public static final int L2D = 138;
  public static final int F2I = 139;
  public static final int F2L = 140;
  public static final int F2D = 141;
  public static final int D2I = 142;
  public static final int D2L = 143;
  public static final int D2F = 144;
  public static final int I2B = 145;
  public static final int I2C = 146;
  public static final int I2S = 147;
  public static final int LCMP = 148;
  public static final int FCMPL = 149;
  public static final int FCMPG = 150;
  public static final int DCMPL = 151;
  public static final int DCMPG = 152;
  public static final int IFEQ = 153;
  public static final int IFNE = 154;
  public static final int IFLT = 155;
  public static final int IFGE = 156;
  public static final int IFGT = 157;
  public static final int IFLE = 158;
  public static final int IF_ICMPEQ = 159;
  public static final int IF_ICMPNE = 160;
  public static final int IF_ICMPLT = 161;
  public static final int IF_ICMPGE = 162;
  public static final int IF_ICMPGT = 163;
  public static final int IF_ICMPLE = 164;
  public static final int IF_ACMPEQ = 165;
  public static final int IF_ACMPNE = 166;
  public static final int GOTO = 167;
  public static final int JSR = 168;
  public static final int RET = 169;
  public static final int TABLESWITCH = 170;
  public static final int LOOKUPSWITCH = 171;
  public static final int IRETURN = 172;
  public static final int LRETURN = 173;
  public static final int FRETURN = 174;
  public static final int DRETURN = 175;
  public static final int ARETURN = 176;
  public static final int RETURN = 177;
  public static final int GETSTATIC = 178;
  public static final int PUTSTATIC = 179;
  public static final int GETFIELD = 180;
  public static final int PUTFIELD = 181;
  public static final int INVOKEVIRTUAL = 182;
  public static final int INVOKESPECIAL = 183;
  public static final int INVOKESTATIC = 184;
  public static final int INVOKEINTERFACE = 185;
  public static final int NEW = 187;
  public static final int NEWARRAY = 188;
  public static final int ANEWARRAY = 189;
  public static final int ARRAYLENGTH = 190;
  public static final int ATHROW = 191;
  public static final int CHECKCAST = 192;
  public static final int INSTANCEOF = 193;
  public static final int MONITORENTER = 194;
  public static final int MONITOREXIT = 195;
  public static final int WIDE = 196;
  public static final int MULTIANEWARRAY = 197;
  public static final int IFNULL = 198;
  public static final int IFNONNULL = 199;
  public static final int GOTO_W = 200;
  public static final int JSR_W = 201;
  public static final int BREAKPOINT = 202;
  public static final int IMPDEP1 = 254;
  public static final int IMPDEP2 = 255;
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.IOpcodeMnemonics
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class InnerClassesAttribute
  extends ClassFileAttribute
{
  private static final InnerClassesAttributeEntry[] NO_ENTRIES = new InnerClassesAttributeEntry[0];
  private int numberOfClasses;
  private InnerClassesAttributeEntry[] entries;
  
  public InnerClassesAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    super(classFileBytes, constantPool, offset);
    numberOfClasses = u2At(classFileBytes, 6, offset);
    int length = numberOfClasses;
    if (length != 0)
    {
      int readOffset = 8;
      entries = new InnerClassesAttributeEntry[length];
      for (int i = 0; i < length; i++)
      {
        entries[i] = new InnerClassesAttributeEntry(classFileBytes, constantPool, offset + readOffset);
        readOffset += 8;
      }
    }
    else
    {
      entries = NO_ENTRIES;
    }
  }
  
  public InnerClassesAttributeEntry[] getInnerClassAttributesEntries()
  {
    return entries;
  }
  
  public int getNumberOfClasses()
  {
    return numberOfClasses;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.InnerClassesAttribute
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class InnerClassesAttributeEntry
  extends ClassFileStruct
{
  private int innerClassNameIndex;
  private int outerClassNameIndex;
  private int innerNameIndex;
  private char[] innerClassName;
  private char[] outerClassName;
  private char[] innerName;
  private int accessFlags;
  
  public InnerClassesAttributeEntry(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    innerClassNameIndex = u2At(classFileBytes, 0, offset);
    outerClassNameIndex = u2At(classFileBytes, 2, offset);
    innerNameIndex = u2At(classFileBytes, 4, offset);
    accessFlags = u2At(classFileBytes, 6, offset);
    if (innerClassNameIndex != 0)
    {
      ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(innerClassNameIndex);
      if (constantPoolEntry.getKind() != 7) {
        throw new ClassFormatException(3);
      }
      innerClassName = constantPoolEntry.getClassInfoName();
    }
    if (outerClassNameIndex != 0)
    {
      ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(outerClassNameIndex);
      if (constantPoolEntry.getKind() != 7) {
        throw new ClassFormatException(3);
      }
      outerClassName = constantPoolEntry.getClassInfoName();
    }
    if (innerNameIndex != 0)
    {
      ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(innerNameIndex);
      if (constantPoolEntry.getKind() != 1) {
        throw new ClassFormatException(3);
      }
      innerName = constantPoolEntry.getUtf8Value();
    }
  }
  
  public int getAccessFlags()
  {
    return accessFlags;
  }
  
  public char[] getInnerClassName()
  {
    return innerClassName;
  }
  
  public int getInnerClassNameIndex()
  {
    return innerClassNameIndex;
  }
  
  public char[] getInnerName()
  {
    return innerName;
  }
  
  public int getInnerNameIndex()
  {
    return innerNameIndex;
  }
  
  public char[] getOuterClassName()
  {
    return outerClassName;
  }
  
  public int getOuterClassNameIndex()
  {
    return outerClassNameIndex;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.InnerClassesAttributeEntry
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

import org.eclipse.osgi.util.NLS;

public class Messages
  extends NLS
{
  private static final String BUNDLE_NAME = "org.eclipse.equinox.p2.internal.repository.comparator.java.messages";
  public static String differentNumberOfEntries;
  public static String binaryDifferentLength;
  public static String classesDifferent;
  public static String propertiesSizesDifferent;
  public static String differentPropertyValueFull;
  public static String missingProperty;
  public static String manifestDifferentSize;
  public static String manifestMissingEntry;
  public static String manifestDifferentValue;
  public static String binaryFilesDifferent;
  public static String differentEntry;
  public static String missingEntry;
  public static String ioexception;
  public static String featureSize;
  public static String featureIdsDontMatch;
  public static String featureVersionsDontMatch;
  public static String featureEntry;
  public static String featureEntryOptional;
  public static String featureEntryUnpack;
  public static String featureEntryMatch;
  public static String featureEntryFilter;
  public static String disassembler_opentypedeclaration;
  public static String disassembler_closetypedeclaration;
  public static String disassembler_endofmethodheader;
  public static String disassembler_begincommentline;
  public static String disassembler_fieldhasconstant;
  public static String disassembler_endoffieldheader;
  public static String disassembler_sourceattributeheader;
  public static String disassembler_enclosingmethodheader;
  public static String disassembler_exceptiontableheader;
  public static String disassembler_innerattributesheader;
  public static String disassembler_inner_class_info_name;
  public static String disassembler_outer_class_info_name;
  public static String disassembler_inner_name;
  public static String disassembler_inner_accessflags;
  public static String disassembler_signatureattributeheader;
  public static String disassembler_indentation;
  public static String disassembler_space;
  public static String disassembler_comma;
  public static String disassembler_openinnerclassentry;
  public static String disassembler_closeinnerclassentry;
  public static String disassembler_deprecated;
  public static String disassembler_annotationdefaultheader;
  public static String disassembler_annotationdefaultvalue;
  public static String disassembler_annotationenumvalue;
  public static String disassembler_annotationclassvalue;
  public static String disassembler_annotationannotationvalue;
  public static String disassembler_annotationarrayvaluestart;
  public static String disassembler_annotationarrayvalueend;
  public static String disassembler_annotationentrystart;
  public static String disassembler_annotationentryend;
  public static String disassembler_annotationcomponent;
  public static String disassembler_runtimevisibleannotationsattributeheader;
  public static String disassembler_runtimeinvisibleannotationsattributeheader;
  public static String disassembler_runtimevisibleparameterannotationsattributeheader;
  public static String disassembler_runtimeinvisibleparameterannotationsattributeheader;
  public static String disassembler_parameterannotationentrystart;
  public static String classfileformat_versiondetails;
  public static String classfileformat_methoddescriptor;
  public static String classfileformat_fieldddescriptor;
  public static String classfileformat_stacksAndLocals;
  public static String classfileformat_superflagisnotset;
  public static String classfileformat_superflagisset;
  public static String classfileformat_clinitname;
  public static String classformat_classformatexception;
  public static String classformat_anewarray;
  public static String classformat_checkcast;
  public static String classformat_instanceof;
  public static String classformat_ldc_w_class;
  public static String classformat_ldc_w_float;
  public static String classformat_ldc_w_integer;
  public static String classformat_ldc_w_string;
  public static String classformat_ldc2_w_long;
  public static String classformat_ldc2_w_double;
  public static String classformat_multianewarray;
  public static String classformat_new;
  public static String classformat_iinc;
  public static String classformat_invokespecial;
  public static String classformat_invokeinterface;
  public static String classformat_invokestatic;
  public static String classformat_invokevirtual;
  public static String classformat_getfield;
  public static String classformat_getstatic;
  public static String classformat_putstatic;
  public static String classformat_putfield;
  public static String classformat_newarray_boolean;
  public static String classformat_newarray_char;
  public static String classformat_newarray_float;
  public static String classformat_newarray_double;
  public static String classformat_newarray_byte;
  public static String classformat_newarray_short;
  public static String classformat_newarray_int;
  public static String classformat_newarray_long;
  public static String classformat_store;
  public static String classformat_load;
  public static String classfileformat_anyexceptionhandler;
  public static String classfileformat_exceptiontableentry;
  public static String classfileformat_versionUnknown;
  
  static
  {
    NLS.initializeMessages("org.eclipse.equinox.p2.internal.repository.comparator.java.messages", Messages.class);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.Messages
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

import java.util.Arrays;

public class MethodInfo
  extends ClassFileStruct
{
  private int accessFlags;
  private int attributeBytes;
  private ClassFileAttribute[] attributes;
  private int attributesCount;
  private CodeAttribute codeAttribute;
  private char[] descriptor;
  private int descriptorIndex;
  private ExceptionAttribute exceptionAttribute;
  private boolean isDeprecated;
  private boolean isSynthetic;
  private char[] name;
  private int nameIndex;
  
  public MethodInfo(byte[] classFileBytes, ConstantPool constantPool, int offset, int decodingFlags)
    throws ClassFormatException
  {
    boolean no_code_attribute = (decodingFlags & 0x20) == 0;
    int flags = u2At(classFileBytes, 0, offset);
    accessFlags = flags;
    if ((flags & 0x1000) != 0) {
      isSynthetic = true;
    }
    nameIndex = u2At(classFileBytes, 2, offset);
    ConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(nameIndex);
    if (constantPoolEntry.getKind() != 1) {
      throw new ClassFormatException(3);
    }
    name = constantPoolEntry.getUtf8Value();
    
    descriptorIndex = u2At(classFileBytes, 4, offset);
    constantPoolEntry = constantPool.decodeEntry(descriptorIndex);
    if (constantPoolEntry.getKind() != 1) {
      throw new ClassFormatException(3);
    }
    descriptor = constantPoolEntry.getUtf8Value();
    
    attributesCount = u2At(classFileBytes, 6, offset);
    attributes = ClassFileAttribute.NO_ATTRIBUTES;
    if (attributesCount != 0) {
      if ((no_code_attribute) && (!isAbstract()) && (!isNative()))
      {
        if (attributesCount != 1) {
          attributes = new ClassFileAttribute[attributesCount - 1];
        }
      }
      else {
        attributes = new ClassFileAttribute[attributesCount];
      }
    }
    int attributesIndex = 0;
    int readOffset = 8;
    for (int i = 0; i < attributesCount; i++)
    {
      constantPoolEntry = constantPool.decodeEntry(u2At(classFileBytes, readOffset, offset));
      if (constantPoolEntry.getKind() != 1) {
        throw new ClassFormatException(3);
      }
      char[] attributeName = constantPoolEntry.getUtf8Value();
      if (Arrays.equals(attributeName, AttributeNamesConstants.DEPRECATED))
      {
        isDeprecated = true;
        attributes[(attributesIndex++)] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.SYNTHETIC))
      {
        isSynthetic = true;
        attributes[(attributesIndex++)] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.CODE))
      {
        if (!no_code_attribute)
        {
          codeAttribute = new CodeAttribute(classFileBytes, constantPool, offset + readOffset);
          attributes[(attributesIndex++)] = codeAttribute;
        }
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.EXCEPTIONS))
      {
        exceptionAttribute = new ExceptionAttribute(classFileBytes, constantPool, offset + readOffset);
        attributes[(attributesIndex++)] = exceptionAttribute;
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.SIGNATURE))
      {
        attributes[(attributesIndex++)] = new SignatureAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_VISIBLE_ANNOTATIONS))
      {
        attributes[(attributesIndex++)] = new RuntimeVisibleAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_INVISIBLE_ANNOTATIONS))
      {
        attributes[(attributesIndex++)] = new RuntimeInvisibleAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS))
      {
        attributes[(attributesIndex++)] = new RuntimeVisibleParameterAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS))
      {
        attributes[(attributesIndex++)] = new RuntimeInvisibleParameterAnnotationsAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else if (Arrays.equals(attributeName, AttributeNamesConstants.ANNOTATION_DEFAULT))
      {
        attributes[(attributesIndex++)] = new AnnotationDefaultAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      else
      {
        attributes[(attributesIndex++)] = new ClassFileAttribute(classFileBytes, constantPool, offset + readOffset);
      }
      readOffset = (int)(readOffset + (6L + u4At(classFileBytes, readOffset + 2, offset)));
    }
    attributeBytes = readOffset;
  }
  
  public int getAccessFlags()
  {
    return accessFlags;
  }
  
  public int getAttributeCount()
  {
    return attributesCount;
  }
  
  public ClassFileAttribute[] getAttributes()
  {
    return attributes;
  }
  
  public CodeAttribute getCodeAttribute()
  {
    return codeAttribute;
  }
  
  public char[] getDescriptor()
  {
    return descriptor;
  }
  
  public int getDescriptorIndex()
  {
    return descriptorIndex;
  }
  
  public ExceptionAttribute getExceptionAttribute()
  {
    return exceptionAttribute;
  }
  
  public char[] getName()
  {
    return name;
  }
  
  public int getNameIndex()
  {
    return nameIndex;
  }
  
  private boolean isAbstract()
  {
    return (accessFlags & 0x400) != 0;
  }
  
  public boolean isClinit()
  {
    return (name[0] == '<') && (name.length == 8);
  }
  
  public boolean isConstructor()
  {
    return (name[0] == '<') && (name.length == 6);
  }
  
  public boolean isDeprecated()
  {
    return isDeprecated;
  }
  
  private boolean isNative()
  {
    return (accessFlags & 0x100) != 0;
  }
  
  public boolean isSynthetic()
  {
    return isSynthetic;
  }
  
  int sizeInBytes()
  {
    return attributeBytes;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.MethodInfo
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class OpcodeStringValues
  implements IOpcodeMnemonics
{
  public static final String[] BYTECODE_NAMES = new String['?'];
  
  static
  {
    BYTECODE_NAMES[0] = "nop";
    BYTECODE_NAMES[1] = "aconst_null";
    BYTECODE_NAMES[2] = "iconst_m1";
    BYTECODE_NAMES[3] = "iconst_0";
    BYTECODE_NAMES[4] = "iconst_1";
    BYTECODE_NAMES[5] = "iconst_2";
    BYTECODE_NAMES[6] = "iconst_3";
    BYTECODE_NAMES[7] = "iconst_4";
    BYTECODE_NAMES[8] = "iconst_5";
    BYTECODE_NAMES[9] = "lconst_0";
    BYTECODE_NAMES[10] = "lconst_1";
    BYTECODE_NAMES[11] = "fconst_0";
    BYTECODE_NAMES[12] = "fconst_1";
    BYTECODE_NAMES[13] = "fconst_2";
    BYTECODE_NAMES[14] = "dconst_0";
    BYTECODE_NAMES[15] = "dconst_1";
    BYTECODE_NAMES[16] = "bipush";
    BYTECODE_NAMES[17] = "sipush";
    BYTECODE_NAMES[18] = "ldc";
    BYTECODE_NAMES[19] = "ldc_w";
    BYTECODE_NAMES[20] = "ldc2_w";
    BYTECODE_NAMES[21] = "iload";
    BYTECODE_NAMES[22] = "lload";
    BYTECODE_NAMES[23] = "fload";
    BYTECODE_NAMES[24] = "dload";
    BYTECODE_NAMES[25] = "aload";
    BYTECODE_NAMES[26] = "iload_0";
    BYTECODE_NAMES[27] = "iload_1";
    BYTECODE_NAMES[28] = "iload_2";
    BYTECODE_NAMES[29] = "iload_3";
    BYTECODE_NAMES[30] = "lload_0";
    BYTECODE_NAMES[31] = "lload_1";
    BYTECODE_NAMES[32] = "lload_2";
    BYTECODE_NAMES[33] = "lload_3";
    BYTECODE_NAMES[34] = "fload_0";
    BYTECODE_NAMES[35] = "fload_1";
    BYTECODE_NAMES[36] = "fload_2";
    BYTECODE_NAMES[37] = "fload_3";
    BYTECODE_NAMES[38] = "dload_0";
    BYTECODE_NAMES[39] = "dload_1";
    BYTECODE_NAMES[40] = "dload_2";
    BYTECODE_NAMES[41] = "dload_3";
    BYTECODE_NAMES[42] = "aload_0";
    BYTECODE_NAMES[43] = "aload_1";
    BYTECODE_NAMES[44] = "aload_2";
    BYTECODE_NAMES[45] = "aload_3";
    BYTECODE_NAMES[46] = "iaload";
    BYTECODE_NAMES[47] = "laload";
    BYTECODE_NAMES[48] = "faload";
    BYTECODE_NAMES[49] = "daload";
    BYTECODE_NAMES[50] = "aaload";
    BYTECODE_NAMES[51] = "baload";
    BYTECODE_NAMES[52] = "caload";
    BYTECODE_NAMES[53] = "saload";
    BYTECODE_NAMES[54] = "istore";
    BYTECODE_NAMES[55] = "lstore";
    BYTECODE_NAMES[56] = "fstore";
    BYTECODE_NAMES[57] = "dstore";
    BYTECODE_NAMES[58] = "astore";
    BYTECODE_NAMES[59] = "istore_0";
    BYTECODE_NAMES[60] = "istore_1";
    BYTECODE_NAMES[61] = "istore_2";
    BYTECODE_NAMES[62] = "istore_3";
    BYTECODE_NAMES[63] = "lstore_0";
    BYTECODE_NAMES[64] = "lstore_1";
    BYTECODE_NAMES[65] = "lstore_2";
    BYTECODE_NAMES[66] = "lstore_3";
    BYTECODE_NAMES[67] = "fstore_0";
    BYTECODE_NAMES[68] = "fstore_1";
    BYTECODE_NAMES[69] = "fstore_2";
    BYTECODE_NAMES[70] = "fstore_3";
    BYTECODE_NAMES[71] = "dstore_0";
    BYTECODE_NAMES[72] = "dstore_1";
    BYTECODE_NAMES[73] = "dstore_2";
    BYTECODE_NAMES[74] = "dstore_3";
    BYTECODE_NAMES[75] = "astore_0";
    BYTECODE_NAMES[76] = "astore_1";
    BYTECODE_NAMES[77] = "astore_2";
    BYTECODE_NAMES[78] = "astore_3";
    BYTECODE_NAMES[79] = "iastore";
    BYTECODE_NAMES[80] = "lastore";
    BYTECODE_NAMES[81] = "fastore";
    BYTECODE_NAMES[82] = "dastore";
    BYTECODE_NAMES[83] = "aastore";
    BYTECODE_NAMES[84] = "bastore";
    BYTECODE_NAMES[85] = "castore";
    BYTECODE_NAMES[86] = "sastore";
    BYTECODE_NAMES[87] = "pop";
    BYTECODE_NAMES[88] = "pop2";
    BYTECODE_NAMES[89] = "dup";
    BYTECODE_NAMES[90] = "dup_x1";
    BYTECODE_NAMES[91] = "dup_x2";
    BYTECODE_NAMES[92] = "dup2";
    BYTECODE_NAMES[93] = "dup2_x1";
    BYTECODE_NAMES[94] = "dup2_x2";
    BYTECODE_NAMES[95] = "swap";
    BYTECODE_NAMES[96] = "iadd";
    BYTECODE_NAMES[97] = "ladd";
    BYTECODE_NAMES[98] = "fadd";
    BYTECODE_NAMES[99] = "dadd";
    BYTECODE_NAMES[100] = "isub";
    BYTECODE_NAMES[101] = "lsub";
    BYTECODE_NAMES[102] = "fsub";
    BYTECODE_NAMES[103] = "dsub";
    BYTECODE_NAMES[104] = "imul";
    BYTECODE_NAMES[105] = "lmul";
    BYTECODE_NAMES[106] = "fmul";
    BYTECODE_NAMES[107] = "dmul";
    BYTECODE_NAMES[108] = "idiv";
    BYTECODE_NAMES[109] = "ldiv";
    BYTECODE_NAMES[110] = "fdiv";
    BYTECODE_NAMES[111] = "ddiv";
    BYTECODE_NAMES[112] = "irem";
    BYTECODE_NAMES[113] = "lrem";
    BYTECODE_NAMES[114] = "frem";
    BYTECODE_NAMES[115] = "drem";
    BYTECODE_NAMES[116] = "ineg";
    BYTECODE_NAMES[117] = "lneg";
    BYTECODE_NAMES[118] = "fneg";
    BYTECODE_NAMES[119] = "dneg";
    BYTECODE_NAMES[120] = "ishl";
    BYTECODE_NAMES[121] = "lshl";
    BYTECODE_NAMES[122] = "ishr";
    BYTECODE_NAMES[123] = "lshr";
    BYTECODE_NAMES[124] = "iushr";
    BYTECODE_NAMES[125] = "lushr";
    BYTECODE_NAMES[126] = "iand";
    BYTECODE_NAMES[127] = "land";
    BYTECODE_NAMES['?'] = "ior";
    BYTECODE_NAMES['?'] = "lor";
    BYTECODE_NAMES['?'] = "ixor";
    BYTECODE_NAMES['?'] = "lxor";
    BYTECODE_NAMES['?'] = "iinc";
    BYTECODE_NAMES['?'] = "i2l";
    BYTECODE_NAMES['?'] = "i2f";
    BYTECODE_NAMES['?'] = "i2d";
    BYTECODE_NAMES['?'] = "l2i";
    BYTECODE_NAMES['?'] = "l2f";
    BYTECODE_NAMES['?'] = "l2d";
    BYTECODE_NAMES['?'] = "f2i";
    BYTECODE_NAMES['?'] = "f2l";
    BYTECODE_NAMES['?'] = "f2d";
    BYTECODE_NAMES['?'] = "d2i";
    BYTECODE_NAMES['?'] = "d2l";
    BYTECODE_NAMES['?'] = "d2f";
    BYTECODE_NAMES['?'] = "i2b";
    BYTECODE_NAMES['?'] = "i2c";
    BYTECODE_NAMES['?'] = "i2s";
    BYTECODE_NAMES['?'] = "lcmp";
    BYTECODE_NAMES['?'] = "fcmpl";
    BYTECODE_NAMES['?'] = "fcmpg";
    BYTECODE_NAMES['?'] = "dcmpl";
    BYTECODE_NAMES['?'] = "dcmpg";
    BYTECODE_NAMES['?'] = "ifeq";
    BYTECODE_NAMES['?'] = "ifne";
    BYTECODE_NAMES['?'] = "iflt";
    BYTECODE_NAMES['?'] = "ifge";
    BYTECODE_NAMES['?'] = "ifgt";
    BYTECODE_NAMES['?'] = "ifle";
    BYTECODE_NAMES['?'] = "if_icmpeq";
    BYTECODE_NAMES['�'] = "if_icmpne";
    BYTECODE_NAMES['�'] = "if_icmplt";
    BYTECODE_NAMES['�'] = "if_icmpge";
    BYTECODE_NAMES['�'] = "if_icmpgt";
    BYTECODE_NAMES['�'] = "if_icmple";
    BYTECODE_NAMES['�'] = "if_acmpeq";
    BYTECODE_NAMES['�'] = "if_acmpne";
    BYTECODE_NAMES['�'] = "goto";
    BYTECODE_NAMES['�'] = "jsr";
    BYTECODE_NAMES['�'] = "ret";
    BYTECODE_NAMES['�'] = "tableswitch";
    BYTECODE_NAMES['�'] = "lookupswitch";
    BYTECODE_NAMES['�'] = "ireturn";
    BYTECODE_NAMES['�'] = "lreturn";
    BYTECODE_NAMES['�'] = "freturn";
    BYTECODE_NAMES['�'] = "dreturn";
    BYTECODE_NAMES['�'] = "areturn";
    BYTECODE_NAMES['�'] = "return";
    BYTECODE_NAMES['�'] = "getstatic";
    BYTECODE_NAMES['�'] = "putstatic";
    BYTECODE_NAMES['�'] = "getfield";
    BYTECODE_NAMES['�'] = "putfield";
    BYTECODE_NAMES['�'] = "invokevirtual";
    BYTECODE_NAMES['�'] = "invokespecial";
    BYTECODE_NAMES['�'] = "invokestatic";
    BYTECODE_NAMES['�'] = "invokeinterface";
    BYTECODE_NAMES['�'] = "new";
    BYTECODE_NAMES['�'] = "newarray";
    BYTECODE_NAMES['�'] = "anewarray";
    BYTECODE_NAMES['�'] = "arraylength";
    BYTECODE_NAMES['�'] = "athrow";
    BYTECODE_NAMES['�'] = "checkcast";
    BYTECODE_NAMES['�'] = "instanceof";
    BYTECODE_NAMES['�'] = "monitorenter";
    BYTECODE_NAMES['�'] = "monitorexit";
    BYTECODE_NAMES['�'] = "wide";
    BYTECODE_NAMES['�'] = "multianewarray";
    BYTECODE_NAMES['�'] = "ifnull";
    BYTECODE_NAMES['�'] = "ifnonnull";
    BYTECODE_NAMES['�'] = "goto_w";
    BYTECODE_NAMES['�'] = "jsr_w";
    BYTECODE_NAMES['�'] = "breakpoint";
    BYTECODE_NAMES['�'] = "impdep1";
    BYTECODE_NAMES['�'] = "impdep2";
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.OpcodeStringValues
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class ParameterAnnotation
  extends ClassFileStruct
{
  private static final Annotation[] NO_ENTRIES = new Annotation[0];
  private int annotationsNumber;
  private Annotation[] annotations;
  private int readOffset;
  
  public ParameterAnnotation(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    int length = u2At(classFileBytes, 0, offset);
    readOffset = 2;
    annotationsNumber = length;
    if (length != 0)
    {
      annotations = new Annotation[length];
      for (int i = 0; i < length; i++)
      {
        Annotation annotation = new Annotation(classFileBytes, constantPool, offset + readOffset);
        annotations[i] = annotation;
        readOffset += annotation.sizeInBytes();
      }
    }
    else
    {
      annotations = NO_ENTRIES;
    }
  }
  
  int sizeInBytes()
  {
    return readOffset;
  }
  
  public Annotation[] getAnnotations()
  {
    return annotations;
  }
  
  public int getAnnotationsNumber()
  {
    return annotationsNumber;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.ParameterAnnotation
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class RuntimeInvisibleAnnotationsAttribute
  extends ClassFileAttribute
{
  private static final Annotation[] NO_ENTRIES = new Annotation[0];
  private int annotationsNumber;
  private Annotation[] annotations;
  
  public RuntimeInvisibleAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    super(classFileBytes, constantPool, offset);
    int length = u2At(classFileBytes, 6, offset);
    annotationsNumber = length;
    if (length != 0)
    {
      int readOffset = 8;
      annotations = new Annotation[length];
      for (int i = 0; i < length; i++)
      {
        Annotation annotation = new Annotation(classFileBytes, constantPool, offset + readOffset);
        annotations[i] = annotation;
        readOffset += annotation.sizeInBytes();
      }
    }
    else
    {
      annotations = NO_ENTRIES;
    }
  }
  
  public Annotation[] getAnnotations()
  {
    return annotations;
  }
  
  public int getAnnotationsNumber()
  {
    return annotationsNumber;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.RuntimeInvisibleAnnotationsAttribute
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class RuntimeInvisibleParameterAnnotationsAttribute
  extends ClassFileAttribute
{
  private static final ParameterAnnotation[] NO_ENTRIES = new ParameterAnnotation[0];
  private ParameterAnnotation[] parameterAnnotations;
  private int parametersNumber;
  
  public RuntimeInvisibleParameterAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    super(classFileBytes, constantPool, offset);
    int length = u1At(classFileBytes, 6, offset);
    parametersNumber = length;
    if (length != 0)
    {
      int readOffset = 7;
      parameterAnnotations = new ParameterAnnotation[length];
      for (int i = 0; i < length; i++)
      {
        ParameterAnnotation parameterAnnotation = new ParameterAnnotation(classFileBytes, constantPool, offset + readOffset);
        parameterAnnotations[i] = parameterAnnotation;
        readOffset += parameterAnnotation.sizeInBytes();
      }
    }
    else
    {
      parameterAnnotations = NO_ENTRIES;
    }
  }
  
  public ParameterAnnotation[] getParameterAnnotations()
  {
    return parameterAnnotations;
  }
  
  public int getParametersNumber()
  {
    return parametersNumber;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.RuntimeInvisibleParameterAnnotationsAttribute
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class RuntimeVisibleAnnotationsAttribute
  extends ClassFileAttribute
{
  private static final Annotation[] NO_ENTRIES = new Annotation[0];
  private int annotationsNumber;
  private Annotation[] annotations;
  
  public RuntimeVisibleAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    super(classFileBytes, constantPool, offset);
    int length = u2At(classFileBytes, 6, offset);
    annotationsNumber = length;
    if (length != 0)
    {
      int readOffset = 8;
      annotations = new Annotation[length];
      for (int i = 0; i < length; i++)
      {
        Annotation annotation = new Annotation(classFileBytes, constantPool, offset + readOffset);
        annotations[i] = annotation;
        readOffset += annotation.sizeInBytes();
      }
    }
    else
    {
      annotations = NO_ENTRIES;
    }
  }
  
  public Annotation[] getAnnotations()
  {
    return annotations;
  }
  
  public int getAnnotationsNumber()
  {
    return annotationsNumber;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.RuntimeVisibleAnnotationsAttribute
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

public class RuntimeVisibleParameterAnnotationsAttribute
  extends ClassFileAttribute
{
  private static final ParameterAnnotation[] NO_ENTRIES = new ParameterAnnotation[0];
  private int parametersNumber;
  private ParameterAnnotation[] parameterAnnotations;
  
  public RuntimeVisibleParameterAnnotationsAttribute(byte[] classFileBytes, ConstantPool constantPool, int offset)
    throws ClassFormatException
  {
    super(classFileBytes, constantPool, offset);
    int length = u1At(classFileBytes, 6, offset);
    parametersNumber = length;
    if (length != 0)
    {
      int readOffset = 7;
      parameterAnnotations = new ParameterAnnotation[length];
      for (int i = 0; i < length; i++)
      {
        ParameterAnnotation parameterAnnotation = new ParameterAnnotation(classFileBytes, constantPool, offset + readOffset);
        parameterAnnotations[i] = parameterAnnotation;
        readOffset += parameterAnnotation.sizeInBytes();
      }
    }
    else
    {
      parameterAnnotations = NO_ENTRIES;
    }
  }
  
  public ParameterAnnotation[] getParameterAnnotations()
  {
    return parameterAnnotations;
  }
  
  public int getParametersNumber()
  {
    return parametersNumber;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.equinox.p2.internal.repository.comparator.java.RuntimeVisibleParameterAnnotationsAttribute
 * Java Class Version: 1.4 (48.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.equinox.p2.internal.repository.comparator.java;

import java.util.ArrayList;

public final class Signature
{
  public static final char C_BOOLEAN = 'Z';
  public static final char C_BYTE = 'B';
  public static final char C_CHAR = 'C';
  public static final char C_DOUBLE = 'D';
  public static final char C_FLOAT = 'F';
  public static final char C_INT = 'I';
  public static final char C_SEMICOLON = ';';
  public static final char C_COLON = ':';
  public static final char C_LONG = 'J';
  public static final char C_SHORT = 'S';
  public static final char C_VOID = 'V';
  public static final char C_TYPE_VARIABLE = 'T';
  public static final char C_STAR = '*';
  public static final char C_EXCEPTION_START = '^';
  public static final char C_EXTENDS = '+';
  public static final char C_SUPER = '-';
  public static final char C_DOT = '.';
  public static final char C_DOLLAR = '$';
  public static final char C_ARRAY = '[';
  public static final char C_RESOLVED = 'L';
  public static final char C_UNRESOLVED = 'Q';
  public static final char C_NAME_END = ';';
  public static final char C_PARAM_START = '(';
  public static final char C_PARAM_END = ')';
  public static final char C_GENERIC_START = '<';
  public static final char C_GENERIC_END = '>';
  public static final char C_CAPTURE = '!';
  public static final String SIG_BOOLEAN = "Z";
  public static final String SIG_BYTE = "B";
  public static final String SIG_CHAR = "C";
  public static final String SIG_DOUBLE = "D";
  public static final String SIG_FLOAT = "F";
  public static final String SIG_INT = "I";
  public static final String SIG_LONG = "J";
  public static final String SIG_SHORT = "S";
  public static final String SIG_VOID = "V";
  public static final int CLASS_TYPE_SIGNATURE = 1;
  public static final int BASE_TYPE_SIGNATURE = 2;
  public static final int TYPE_VARIABLE_SIGNATURE = 3;
  public static final int ARRAY_TYPE_SIGNATURE = 4;
  public static final int WILDCARD_TYPE_SIGNATURE = 5;
  public static final int CAPTURE_TYPE_SIGNATURE = 6;
  private static final char[] BOOLEAN = "boolean".toCharArray();
  private static final char[] BYTE = "byte".toCharArray();
  private static final char[] CHAR = "char".toCharArray();
  private static final char[] DOUBLE = "double".toCharArray();
  private static final char[] FLOAT = "float".toCharArray();
  private static final char[] INT = "int".toCharArray();
  private static final char[] LONG = "long".toCharArray();
  private static final char[] SHORT = "short".toCharArray();
  private static final char[] VOID = "void".toCharArray();
  private static final char[] CAPTURE = "capture-of".toCharArray();
  
  /* Error */
  public static int getParameterCount(char[] methodSignature)
    throws IllegalArgumentException
  {
    // Byte code:
    //   0: iconst_0
    //   1: istore_1
    //   2: bipush 40
    //   4: aload_0
    //   5: invokestatic 350	org/eclipse/equinox/p2/internal/repository/comparator/java/CharOperation:indexOf	(C[C)I
    //   8: istore_2
    //   9: iload_2
    //   10: ifge +11 -> 21
    //   13: new 246	java/lang/IllegalArgumentException
    //   16: dup
    //   17: invokespecial 333	java/lang/IllegalArgumentException:<init>	()V
    //   20: athrow
    //   21: iinc 2 1
    //   24: aload_0
    //   25: iloa
1 2 3 4 5 6 7 8 9 10 11 12

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2019. Infinite Loop Ltd