jdimodel

16:37:23.766 INFO  jd.cli.Main - Decompiling jdimodel.jar
package org.eclipse.jdi;

import com.sun.jdi.VirtualMachineManager;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jdi.internal.VirtualMachineManagerImpl;
import org.eclipse.jdt.internal.debug.core.JDIDebugPlugin;

public class Bootstrap
{
  private static VirtualMachineManager fVirtualMachineManager;
  
  public static synchronized VirtualMachineManager virtualMachineManager()
  {
    if (fVirtualMachineManager != null) {
      return fVirtualMachineManager;
    }
    try
    {
      IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
      String className = null;
      if (extensionRegistry != null) {
        className = extensionRegistry.getExtensionPoint(JDIDebugPlugin.getUniqueIdentifier(), "jdiclient").getLabel();
      }
      Class clazz = null;
      if (className != null) {
        clazz = Class.forName(className);
      }
      if (clazz != null) {
        fVirtualMachineManager = (VirtualMachineManager)clazz.newInstance();
      }
    }
    catch (ClassNotFoundException localClassNotFoundException) {}catch (NoClassDefFoundError localNoClassDefFoundError) {}catch (InstantiationException localInstantiationException) {}catch (IllegalAccessException localIllegalAccessException) {}
    if (fVirtualMachineManager == null) {
      fVirtualMachineManager = new VirtualMachineManagerImpl();
    }
    return fVirtualMachineManager;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.Bootstrap
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi;

public class TimeoutException
  extends RuntimeException
{
  private static final long serialVersionUID = 6009335074727417445L;
  
  public TimeoutException() {}
  
  public TimeoutException(String message)
  {
    super(message);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.TimeoutException
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi;

public abstract interface VirtualMachine
{
  public abstract void setRequestTimeout(int paramInt);
  
  public abstract int getRequestTimeout();
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.VirtualMachine
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.hcr;

import com.sun.jdi.Mirror;
import com.sun.jdi.ThreadReference;

public abstract interface EventRequestManager
  extends Mirror
{
  public abstract ReenterStepRequest createReenterStepRequest(ThreadReference paramThreadReference);
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.hcr.EventRequestManager
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.hcr;

public class OperationRefusedException
  extends RuntimeException
{
  private static final long serialVersionUID = 1L;
  
  public OperationRefusedException() {}
  
  public OperationRefusedException(String s)
  {
    super(s);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.hcr.OperationRefusedException
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.hcr;

import com.sun.jdi.ReferenceType;
import com.sun.jdi.ThreadReference;
import com.sun.jdi.request.StepRequest;

public abstract interface ReenterStepRequest
  extends StepRequest
{
  public abstract void addClassExclusionFilter(String paramString);
  
  public abstract void addClassFilter(ReferenceType paramReferenceType);
  
  public abstract void addClassFilter(String paramString);
  
  public abstract ThreadReference thread();
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.hcr.ReenterStepRequest
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.hcr;

public abstract interface ReferenceType
{
  public abstract int getClassFileVersion();
  
  public abstract boolean isHCREligible();
  
  public abstract boolean isVersionKnown();
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.hcr.ReferenceType
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.hcr;

import com.sun.jdi.Value;

public abstract interface ThreadReference
{
  public abstract boolean doReturn(Value paramValue, boolean paramBoolean);
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.hcr.ThreadReference
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.hcr;

public abstract interface VirtualMachine
{
  public static final int RELOAD_SUCCESS = 0;
  public static final int RELOAD_FAILURE = 1;
  public static final int RELOAD_IGNORED = 2;
  
  public abstract boolean canDoReturn();
  
  public abstract boolean canGetClassFileVersion();
  
  public abstract boolean canReenterOnExit();
  
  public abstract boolean canReloadClasses();
  
  public abstract int classesHaveChanged(String[] paramArrayOfString);
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.hcr.VirtualMachine
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.Accessible;
import java.lang.reflect.Field;

public abstract class AccessibleImpl
  extends MirrorImpl
  implements Accessible
{
  public static final int MODIFIER_SYNTHETIC = -268435456;
  public static final int MODIFIER_ACC_PUBLIC = 1;
  public static final int MODIFIER_ACC_PRIVATE = 2;
  public static final int MODIFIER_ACC_PROTECTED = 4;
  public static final int MODIFIER_ACC_STATIC = 8;
  public static final int MODIFIER_ACC_FINAL = 16;
  public static final int MODIFIER_ACC_SYNCHRONIZED = 32;
  public static final int MODIFIER_ACC_SUPER = 32;
  public static final int MODIFIER_ACC_BRIDGE = 64;
  public static final int MODIFIER_ACC_VOLITILE = 64;
  public static final int MODIFIER_ACC_TRANSIENT = 128;
  public static final int MODIFIER_ACC_VARARGS = 128;
  public static final int MODIFIER_ACC_ENUM = 256;
  public static final int MODIFIER_ACC_NATIVE = 256;
  public static final int MODIFIER_ACC_ABSTRACT = 1024;
  public static final int MODIFIER_ACC_STRICT = 2048;
  public static final int MODIFIER_ACC_SYNTHETIC = 4096;
  private static String[] fgModifiers = null;
  
  public AccessibleImpl(String description, VirtualMachineImpl vmImpl)
  {
    super(description, vmImpl);
  }
  
  public boolean isPackagePrivate()
  {
    return (!isPrivate()) && (!isPublic()) && (!isProtected());
  }
  
  public boolean isPrivate()
  {
    return (modifiers() & 0x2) != 0;
  }
  
  public boolean isPublic()
  {
    return (modifiers() & 0x1) != 0;
  }
  
  public boolean isProtected()
  {
    return (modifiers() & 0x4) != 0;
  }
  
  public static void getConstantMaps()
  {
    if (fgModifiers != null) {
      return;
    }
    Field[] fields = AccessibleImpl.class.getDeclaredFields();
    fgModifiers = new String[32];
    for (int i = 0; i < fields.length; i++)
    {
      Field field = fields[i];
      int modifiers = field.getModifiers();
      if (((modifiers & 0x1) != 0) && ((modifiers & 0x8) != 0) && ((modifiers & 0x10) != 0))
      {
        String name = field.getName();
        if (name.startsWith("MODIFIER_"))
        {
          name = name.substring(9);
          try
          {
            int value = field.getInt(null);
            for (int j = 0; j < 32; j++) {
              if ((1 << j & value) != 0)
              {
                fgModifiers[j] = name;
                break;
              }
            }
          }
          catch (IllegalAccessException localIllegalAccessException) {}catch (IllegalArgumentException localIllegalArgumentException) {}
        }
      }
    }
  }
  
  public static String[] getModifierStrings()
  {
    getConstantMaps();
    return fgModifiers;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.AccessibleImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.ArrayReference;
import com.sun.jdi.ClassNotLoadedException;
import com.sun.jdi.InternalException;
import com.sun.jdi.InvalidTypeException;
import com.sun.jdi.ObjectCollectedException;
import com.sun.jdi.Type;
import com.sun.jdi.Value;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.jdi.internal.jdwp.JdwpID;
import org.eclipse.jdi.internal.jdwp.JdwpObjectID;
import org.eclipse.jdi.internal.jdwp.JdwpReplyPacket;

public class ArrayReferenceImpl
  extends ObjectReferenceImpl
  implements ArrayReference
{
  public static final byte tag = 91;
  private int fLength = -1;
  
  public ArrayReferenceImpl(VirtualMachineImpl vmImpl, JdwpObjectID objectID)
  {
    super("ArrayReference", vmImpl, objectID);
  }
  
  public byte getTag()
  {
    return 91;
  }
  
  public Value getValue(int index)
    throws IndexOutOfBoundsException
  {
    return (Value)getValues(index, 1).get(0);
  }
  
  public List getValues()
  {
    return getValues(0, -1);
  }
  
  public List getValues(int firstIndex, int length)
    throws IndexOutOfBoundsException
  {
    int arrayLength = length();
    if ((firstIndex < 0) || (firstIndex >= arrayLength)) {
      throw new IndexOutOfBoundsException(JDIMessages.ArrayReferenceImpl_Invalid_index_1);
    }
    if (length == -1)
    {
      length = arrayLength - firstIndex;
    }
    else
    {
      if (length < -1) {
        throw new IndexOutOfBoundsException(JDIMessages.ArrayReferenceImpl_Invalid_number_of_value_to_get_from_array_1);
      }
      if (firstIndex + length > arrayLength) {
        throw new IndexOutOfBoundsException(JDIMessages.ArrayReferenceImpl_Attempted_to_get_more_values_from_array_than_length_of_array_2);
      }
    }
    initJdwpRequest();
    try
    {
      ByteArrayOutputStream outBytes = new ByteArrayOutputStream();
      DataOutputStream outData = new DataOutputStream(outBytes);
      write(this, outData);
      writeInt(firstIndex, "firstIndex", outData);
      writeInt(length, "length", outData);
      
      JdwpReplyPacket replyPacket = requestVM(3330, outBytes);
      switch (replyPacket.errorCode())
      {
      case 503: 
        throw new IndexOutOfBoundsException(JDIMessages.ArrayReferenceImpl_Invalid_index_of_array_reference_given_1);
      }
      defaultReplyErrorHandler(replyPacket.errorCode());
      
      DataInputStream replyData = replyPacket.dataInStream();
      
      int type = readByte("type", JdwpID.tagMap(), replyData);
      int readLength = readInt("length", replyData);
      List localList;
      switch (type)
      {
      case 76: 
      case 91: 
      case 99: 
      case 103: 
      case 108: 
      case 115: 
      case 116: 
        return readObjectSequence(readLength, replyData);
      case 66: 
      case 67: 
      case 68: 
      case 70: 
      case 73: 
      case 74: 
      case 83: 
      case 90: 
        return readPrimitiveSequence(readLength, type, replyData);
      }
      throw new InternalException(JDIMessages.ArrayReferenceImpl_Invalid_ArrayReference_Value_tag_encountered___2 + type);
    }
    catch (IOException e)
    {
      defaultIOExceptionHandler(e);
      return null;
    }
    finally
    {
      handledJdwpRequest();
    }
  }
  
  private List readObjectSequence(int length, DataInputStream in)
    throws IOException
  {
    List elements = new ArrayList(length);
    for (int i = 0; i < length; i++)
    {
      ValueImpl value = ObjectReferenceImpl.readObjectRefWithTag(this, in);
      elements.add(value);
    }
    return elements;
  }
  
  private List readPrimitiveSequence(int length, int type, DataInputStream in)
    throws IOException
  {
    List elements = new ArrayList(length);
    for (int i = 0; i < length; i++)
    {
      ValueImpl value = ValueImpl.readWithoutTag(this, type, in);
      elements.add(value);
    }
    return elements;
  }
  
  /* Error */
  public int length()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 290	org/eclipse/jdi/internal/ArrayReferenceImpl:fLength	I
    //   4: iconst_m1
    //   5: if_icmpne +66 -> 71
    //   8: aload_0
    //   9: invokevirtual 321	org/eclipse/jdi/internal/ArrayReferenceImpl:initJdwpRequest	()V
    //   12: aload_0
    //   13: sipush 3329
    //   16: aload_0
    //   17: invokevirtual 337	org/eclipse/jdi/internal/ArrayReferenceImpl:requestVM	(ILorg/eclipse/jdi/internal/ObjectReferenceImpl;)Lorg/eclipse/jdi/internal/jdwp/JdwpReplyPacket;
    //   20: astore_1
    //   21: aload_0
    //   22: aload_1
    //   23: invokevirtual 354	org/eclipse/jdi/internal/jdwp/JdwpReplyPacket:errorCode	()S
    //   26: invokevirtual 322	org/eclipse/jdi/internal/ArrayReferenceImpl:defaultReplyErrorHandler	(I)V
    //   29: aload_1
    //   30: invokevirtual 355	org/eclipse/jdi/internal/jdwp/JdwpReplyPacket:dataInStream	()Ljava/io/DataInputStream;
    //   33: astore_2
    //   34: aload_0
    //   35: aload_0
    //   36: ldc 3
    //   38: aload_2
    //   39: invokevirtual 330	org/eclipse/jdi/internal/ArrayReferenceImpl:readInt	(Ljava/lang/String;Ljava/io/DataInputStream;)I
    //   42: putfield 290	org/eclipse/jdi/internal/ArrayReferenceImpl:fLength	I
    //   45: goto +22 -> 67
    //   48: astore_1
    //   49: aload_0
    //   50: aload_1
    //   51: invokevirtual 325	org/eclipse/jdi/internal/ArrayReferenceImpl:defaultIOExceptionHandler	(Ljava/lang/Exception;)V
    //   54: aload_0
    //   55: invokevirtual 320	org/eclipse/jdi/internal/ArrayReferenceImpl:handledJdwpRequest	()V
    //   58: iconst_0
    //   59: ireturn
    //   60: astore_3
    //   61: aload_0
    //   62: invokevirtual 320	org/eclipse/jdi/internal/ArrayReferenceImpl:handledJdwpRequest	()V
    //   65: aload_3
    //   66: athrow
    //   67: aload_0
    //   68: invokevirtual 320	org/eclipse/jdi/internal/ArrayReferenceImpl:handledJdwpRequest	()V
    //   71: aload_0
    //   72: getfield 290	org/eclipse/jdi/internal/ArrayReferenceImpl:fLength	I
    //   75: ireturn
    // Line number table:
    //   Java source line #186	-> byte code offset #0
    //   Java source line #187	-> byte code offset #8
    //   Java source line #189	-> byte code offset #12
    //   Java source line #190	-> byte code offset #21
    //   Java source line #191	-> byte code offset #29
    //   Java source line #192	-> byte code offset #34
    //   Java source line #193	-> byte code offset #48
    //   Java source line #194	-> byte code offset #49
    //   Java source line #197	-> byte code offset #54
    //   Java source line #195	-> byte code offset #58
    //   Java source line #196	-> byte code offset #60
    //   Java source line #197	-> byte code offset #61
    //   Java source line #198	-> byte code offset #65
    //   Java source line #197	-> byte code offset #67
    //   Java source line #200	-> byte code offset #71
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	76	0	this	ArrayReferenceImpl
    //   20	10	1	replyPacket	JdwpReplyPacket
    //   48	3	1	e	IOException
    //   33	6	2	replyData	DataInputStream
    //   60	6	3	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   12	45	48	java/io/IOException
    //   12	54	60	finally
  }
  
  public void setValue(int index, Value value)
    throws InvalidTypeException, ClassNotLoadedException
  {
    ArrayList list = new ArrayList(1);
    list.add(value);
    setValues(index, list, 0, 1);
  }
  
  public void setValues(List values)
    throws InvalidTypeException, ClassNotLoadedException
  {
    setValues(0, values, 0, -1);
  }
  
  /* Error */
  public void setValues(int index, List values, int srcIndex, int length)
    throws InvalidTypeException, ClassNotLoadedException
  {
    // Byte code:
    //   0: aload_2
    //   1: invokeinterface 359 1 0
    //   6: istore 5
    //   8: aload_0
    //   9: invokevirtual 319	org/eclipse/jdi/internal/ArrayReferenceImpl:length	()I
    //   12: istore 6
    //   14: iload_1
    //   15: iflt +9 -> 24
    //   18: iload_1
    //   19: iload 6
    //   21: if_icmplt +14 -> 35
    //   24: new 148	java/lang/IndexOutOfBoundsException
    //   27: dup
    //   28: getstatic 296	org/eclipse/jdi/internal/JDIMessages:ArrayReferenceImpl_Invalid_index_1	Ljava/lang/String;
    //   31: invokespecial 308	java/lang/IndexOutOfBoundsException:<init>	(Ljava/lang/String;)V
    //   34: athrow
    //   35: iload_3
    //   36: iflt +9 -> 45
    //   39: iload_3
    //   40: iload 5
    //   42: if_icmplt +14 -> 56
    //   45: new 148	java/lang/IndexOutOfBoundsException
    //   48: dup
    //   49: getstatic 300	org/eclipse/jdi/internal/JDIMessages:ArrayReferenceImpl_Invalid_srcIndex_2	Ljava/lang/String;
    //   52: invokespecial 308	java/lang/IndexOutOfBoundsException:<init>	(Ljava/lang/String;)V
    //   55: athrow
    //   56: iload 4
    //   58: iconst_m1
    //   59: if_icmpge +14 -> 73
    //   62: new 148	java/lang/IndexOutOfBoundsException
    //   65: dup
    //   66: getstatic 299	org/eclipse/jdi/internal/JDIMessages:ArrayReferenceImpl_Invalid_number_of_value_to_set_in_array_3	Ljava/lang/String;
    //   69: invokespecial 308	java/lang/IndexOutOfBoundsException:<init>	(Ljava/lang/String;)V
    //   72: athrow
    //   73: iload 4
    //   75: iconst_m1
    //   76: if_icmpne +29 -> 105
    //   79: iload 6
    //   81: iload_1
    //   82: isub
    //   83: istore 4
    //   85: iload 5
    //   87: iload_3
    //   88: isub
    //   89: istore 7
    //   91: iload 7
    //   93: iload 4
    //   95: if_icmpge +50 -> 145
    //   98: iload 7
    //   100: istore 4
    //   102: goto +43 -> 145
    //   105: iload_1
    //   106: iload 4
    //   108: iadd
    //   109: iload 6
    //   111: if_icmple +14 -> 125
    //   114: new 148	java/lang/IndexOutOfBoundsException
    //   117: dup
    //   118: getstatic 294	org/eclipse/jdi/internal/JDIMessages:ArrayReferenceImpl_Attempted_to_set_more_values_in_array_than_length_of_array_3	Ljava/lang/String;
    //   121: invokespecial 308	java/lang/IndexOutOfBoundsException:<init>	(Ljava/lang/String;)V
    //   124: athrow
    //   125: iload_3
    //   126: iload 4
    //   128: iadd
    //   129: iload 5
    //   131: if_icmple +14 -> 145
    //   134: new 148	java/lang/IndexOutOfBoundsException
    //   137: dup
    //   138: getstatic 293	org/eclipse/jdi/internal/JDIMessages:ArrayReferenceImpl_Attempted_to_set_more_values_in_array_than_given_4	Ljava/lang/String;
    //   141: invokespecial 308	java/lang/IndexOutOfBoundsException:<init>	(Ljava/lang/String;)V
    //   144: athrow
    //   145: aload_0
    //   146: aload_2
    //   147: iload_3
    //   148: iload_3
    //   149: iload 4
    //   151: iadd
    //   152: invokeinterface 363 3 0
    //   157: aload_0
    //   158: invokevirtual 323	org/eclipse/jdi/internal/ArrayReferenceImpl:referenceType	()Lcom/sun/jdi/ReferenceType;
    //   161: checkcast 155	org/eclipse/jdi/internal/ArrayTypeImpl
    //   164: invokevirtual 340	org/eclipse/jdi/internal/ArrayTypeImpl:componentType	()Lcom/sun/jdi/Type;
    //   167: invokespecial 339	org/eclipse/jdi/internal/ArrayReferenceImpl:checkValues	(Ljava/util/List;Lcom/sun/jdi/Type;)Ljava/util/List;
    //   170: astore 7
    //   172: aload_0
    //   173: invokevirtual 321	org/eclipse/jdi/internal/ArrayReferenceImpl:initJdwpRequest	()V
    //   176: new 144	java/io/ByteArrayOutputStream
    //   179: dup
    //   180: invokespecial 306	java/io/ByteArrayOutputStream:<init>	()V
    //   183: astore 8
    //   185: new 145	java/io/DataOutputStream
    //   188: dup
    //   189: aload 8
    //   191: invokespecial 307	java/io/DataOutputStream:<init>	(Ljava/io/OutputStream;)V
    //   194: astore 9
    //   196: aload_0
    //   197: aload_0
    //   198: aload 9
    //   200: invokevirtual 332	org/eclipse/jdi/internal/ArrayReferenceImpl:write	(Lorg/eclipse/jdi/internal/MirrorImpl;Ljava/io/DataOutputStream;)V
    //   203: aload_0
    //   204: iload_1
    //   205: ldc_w 136
    //   208: aload 9
    //   210: invokevirtual 331	org/eclipse/jdi/internal/ArrayReferenceImpl:writeInt	(ILjava/lang/String;Ljava/io/DataOutputStream;)V
    //   213: aload_0
    //   214: iload 4
    //   216: ldc 3
    //   218: aload 9
    //   220: invokevirtual 331	org/eclipse/jdi/internal/ArrayReferenceImpl:writeInt	(ILjava/lang/String;Ljava/io/DataOutputStream;)V
    //   223: aload 7
    //   225: invokeinterface 362 1 0
    //   230: astore 10
    //   232: goto +37 -> 269
    //   235: aload 10
    //   237: invokeinterface 358 1 0
    //   242: checkcast 159	org/eclipse/jdi/internal/ValueImpl
    //   245: astore 11
    //   247: aload 11
    //   249: ifnull +14 -> 263
    //   252: aload 11
    //   254: aload_0
    //   255: aload 9
    //   257: invokevirtual 344	org/eclipse/jdi/internal/ValueImpl:write	(Lorg/eclipse/jdi/internal/MirrorImpl;Ljava/io/DataOutputStream;)V
    //   260: goto +9 -> 269
    //   263: aload_0
    //   264: aload 9
    //   266: invokestatic 345	org/eclipse/jdi/internal/ValueImpl:writeNull	(Lorg/eclipse/jdi/internal/MirrorImpl;Ljava/io/DataOutputStream;)V
    //   269: aload 10
    //   271: invokeinterface 357 1 0
    //   276: ifne -41 -> 235
    //   279: aload_0
    //   280: sipush 3331
    //   283: aload 8
    //   285: invokevirtual 336	org/eclipse/jdi/internal/ArrayReferenceImpl:requestVM	(ILjava/io/ByteArrayOutputStream;)Lorg/eclipse/jdi/internal/jdwp/JdwpReplyPacket;
    //   288: astore 11
    //   290: aload 11
    //   292: invokevirtual 354	org/eclipse/jdi/internal/jdwp/JdwpReplyPacket:errorCode	()S
    //   295: lookupswitch	default:+50->345, 21:+33->328, 34:+25->320
    //   320: new 140	com/sun/jdi/InvalidTypeException
    //   323: dup
    //   324: invokespecial 305	com/sun/jdi/InvalidTypeException:<init>	()V
    //   327: athrow
    //   328: new 138	com/sun/jdi/ClassNotLoadedException
    //   331: dup
    //   332: aload_0
    //   333: invokevirtual 324	org/eclipse/jdi/internal/ArrayReferenceImpl:type	()Lcom/sun/jdi/Type;
    //   336: invokeinterface 356 1 0
    //   341: invokespecial 303	com/sun/jdi/ClassNotLoadedException:<init>	(Ljava/lang/String;)V
    //   344: athrow
    //   345: aload_0
    //   346: aload 11
    //   348: invokevirtual 354	org/eclipse/jdi/internal/jdwp/JdwpReplyPacket:errorCode	()S
    //   351: invokevirtual 322	org/eclipse/jdi/internal/ArrayReferenceImpl:defaultReplyErrorHandler	(I)V
    //   354: goto +27 -> 381
    //   357: astore 8
    //   359: aload_0
    //   360: aload 8
    //   362: invokevirtual 325	org/eclipse/jdi/internal/ArrayReferenceImpl:defaultIOExceptionHandler	(Ljava/lang/Exception;)V
    //   365: aload_0
    //   366: invokevirtual 320	org/eclipse/jdi/internal/ArrayReferenceImpl:handledJdwpRequest	()V
    //   369: goto +16 -> 385
    //   372: astore 12
    //   374: aload_0
    //   375: invokevirtual 320	org/eclipse/jdi/internal/ArrayReferenceImpl:handledJdwpRequest	()V
    //   378: aload 12
    //   380: athrow
    //   381: aload_0
    //   382: invokevirtual 320	org/eclipse/jdi/internal/ArrayReferenceImpl:handledJdwpRequest	()V
    //   385: return
    // Line number table:
    //   Java source line #224	-> byte code offset #0
    //   Java source line #225	-> byte code offset #8
    //   Java source line #227	-> byte code offset #14
    //   Java source line #228	-> byte code offset #24
    //   Java source line #230	-> byte code offset #35
    //   Java source line #231	-> byte code offset #45
    //   Java source line #234	-> byte code offset #56
    //   Java source line #235	-> byte code offset #62
    //   Java source line #236	-> byte code offset #73
    //   Java source line #238	-> byte code offset #79
    //   Java source line #239	-> byte code offset #85
    //   Java source line #240	-> byte code offset #91
    //   Java source line #241	-> byte code offset #98
    //   Java source line #243	-> byte code offset #105
    //   Java source line #244	-> byte code offset #114
    //   Java source line #245	-> byte code offset #125
    //   Java source line #247	-> byte code offset #134
    //   Java source line #251	-> byte code offset #145
    //   Java source line #254	-> byte code offset #172
    //   Java source line #256	-> byte code offset #176
    //   Java source line #257	-> byte code offset #185
    //   Java source line #258	-> byte code offset #196
    //   Java source line #259	-> byte code offset #203
    //   Java source line #260	-> byte code offset #213
    //   Java source line #261	-> byte code offset #223
    //   Java source line #262	-> byte code offset #232
    //   Java source line #263	-> byte code offset #235
    //   Java source line #264	-> byte code offset #247
    //   Java source line #265	-> byte code offset #252
    //   Java source line #267	-> byte code offset #263
    //   Java source line #262	-> byte code offset #269
    //   Java source line #271	-> byte code offset #279
    //   Java source line #272	-> byte code offset #290
    //   Java source line #274	-> byte code offset #320
    //   Java source line #276	-> byte code offset #328
    //   Java source line #278	-> byte code offset #345
    //   Java source line #279	-> byte code offset #357
    //   Java source line #280	-> byte code offset #359
    //   Java source line #282	-> byte code offset #365
    //   Java source line #281	-> byte code offset #372
    //   Java source line #282	-> byte code offset #374
    //   Java source line #283	-> byte code offset #378
    //   Java source line #282	-> byte code offset #381
    //   Java source line #284	-> byte code offset #385
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	386	0	this	ArrayReferenceImpl
    //   0	386	1	index	int
    //   0	386	2	values	List
    //   0	386	3	srcIndex	int
    //   0	386	4	length	int
    //   6	124	5	valuesSize	int
    //   12	98	6	arrayLength	int
    //   89	10	7	lengthTmp	int
    //   170	54	7	checkedValues	List
    //   183	101	8	outBytes	ByteArrayOutputStream
    //   357	4	8	e	IOException
    //   194	71	9	outData	DataOutputStream
    //   230	40	10	iterValues	Iterator
    //   245	8	11	value	ValueImpl
    //   288	59	11	replyPacket	JdwpReplyPacket
    //   372	7	12	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   176	354	357	java/io/IOException
    //   176	365	372	finally
  }
  
  private List checkValues(List values, Type type)
    throws InvalidTypeException
  {
    List checkedValues = new ArrayList(values.size());
    Iterator iterValues = values.iterator();
    while (iterValues.hasNext()) {
      checkedValues.add(ValueImpl.checkValue((Value)iterValues.next(), type, virtualMachineImpl()));
    }
    return checkedValues;
  }
  
  public String toString()
  {
    try
    {
      StringBuffer buf = new StringBuffer(type().name());
      
      buf.insert(buf.length() - 1, length());
      
      buf.append(' ');
      buf.append(idString());
      return buf.toString();
    }
    catch (ObjectCollectedException localObjectCollectedException)
    {
      return JDIMessages.ArrayReferenceImpl__Garbage_Collected__ArrayReference_5 + "[" + length() + "] " + idString();
    }
    catch (Exception localException) {}
    return fDescription;
  }
  
  public static ArrayReferenceImpl read(MirrorImpl target, DataInputStream in)
    throws IOException
  {
    VirtualMachineImpl vmImpl = target.virtualMachineImpl();
    JdwpObjectID ID = new JdwpObjectID(vmImpl);
    ID.read(in);
    if (fVerboseWriter != null) {
      fVerboseWriter.println("arrayReference", ID.value());
    }
    if (ID.isNull()) {
      return null;
    }
    ArrayReferenceImpl mirror = new ArrayReferenceImpl(vmImpl, ID);
    return mirror;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.ArrayReferenceImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.AbsentInformationException;
import com.sun.jdi.ArrayReference;
import com.sun.jdi.ArrayType;
import com.sun.jdi.ClassNotLoadedException;
import com.sun.jdi.Field;
import com.sun.jdi.Type;
import com.sun.jdi.Value;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.jdi.internal.jdwp.JdwpArrayID;
import org.eclipse.jdi.internal.jdwp.JdwpObjectID;
import org.eclipse.jdi.internal.jdwp.JdwpReplyPacket;

public class ArrayTypeImpl
  extends ReferenceTypeImpl
  implements ArrayType
{
  public static final byte typeTag = 3;
  private Type fComponentType;
  private String fComponentTypeName;
  
  public ArrayTypeImpl(VirtualMachineImpl vmImpl, JdwpArrayID arrayID)
  {
    super("ArrayType", vmImpl, arrayID);
  }
  
  public ArrayTypeImpl(VirtualMachineImpl vmImpl, JdwpArrayID arrayID, String signature, String genericSignature)
  {
    super("ArrayType", vmImpl, arrayID, signature, genericSignature);
  }
  
  public byte typeTag()
  {
    return 3;
  }
  
  public Value createNullValue()
  {
    return new ArrayReferenceImpl(virtualMachineImpl(), new JdwpObjectID(virtualMachineImpl()));
  }
  
  public String componentSignature()
  {
    return signature().substring(1);
  }
  
  public Type componentType()
    throws ClassNotLoadedException
  {
    if (fComponentType == null) {
      fComponentType = TypeImpl.create(virtualMachineImpl(), componentSignature(), classLoader());
    }
    return fComponentType;
  }
  
  public String componentTypeName()
  {
    if (fComponentTypeName == null) {
      fComponentTypeName = signatureToName(componentSignature());
    }
    return fComponentTypeName;
  }
  
  public ArrayReference newInstance(int length)
  {
    initJdwpRequest();
    try
    {
      ByteArrayOutputStream outBytes = new ByteArrayOutputStream();
      DataOutputStream outData = new DataOutputStream(outBytes);
      write(this, outData);
      writeInt(length, "length", outData);
      
      JdwpReplyPacket replyPacket = requestVM(1025, outBytes);
      defaultReplyErrorHandler(replyPacket.errorCode());
      
      DataInputStream replyData = replyPacket.dataInStream();
      ArrayReferenceImpl arrayRef = (ArrayReferenceImpl)ObjectReferenceImpl.readObjectRefWithTag(this, replyData);
      return arrayRef;
    }
    catch (IOException e)
    {
      defaultIOExceptionHandler(e);
      return null;
    }
    finally
    {
      handledJdwpRequest();
    }
  }
  
  public List locationsOfLine(int line)
  {
    return Collections.EMPTY_LIST;
  }
  
  public static ArrayTypeImpl read(MirrorImpl target, DataInputStream in)
    throws IOException
  {
    VirtualMachineImpl vmImpl = target.virtualMachineImpl();
    JdwpArrayID ID = new JdwpArrayID(vmImpl);
    ID.read(in);
    if (fVerboseWriter != null) {
      fVerboseWriter.println("arrayType", ID.value());
    }
    if (ID.isNull()) {
      return null;
    }
    ArrayTypeImpl mirror = (ArrayTypeImpl)vmImpl.getCachedMirror(ID);
    if (mirror == null)
    {
      mirror = new ArrayTypeImpl(vmImpl, ID);
      vmImpl.addCachedMirror(mirror);
    }
    return mirror;
  }
  
  public int modifiers()
  {
    return 17;
  }
  
  public List fields()
  {
    return Collections.EMPTY_LIST;
  }
  
  public List methods()
  {
    return Collections.EMPTY_LIST;
  }
  
  public Map getValues(List fields)
  {
    if (fields.isEmpty()) {
      return new HashMap();
    }
    throw new IllegalArgumentException(JDIMessages.ArrayTypeImpl_getValues_not_allowed_on_array_1);
  }
  
  public List nestedTypes()
  {
    return Collections.EMPTY_LIST;
  }
  
  protected int status()
  {
    return 7;
  }
  
  public static ArrayTypeImpl readWithSignature(MirrorImpl target, boolean withGenericSignature, DataInputStream in)
    throws IOException
  {
    VirtualMachineImpl vmImpl = target.virtualMachineImpl();
    JdwpArrayID ID = new JdwpArrayID(vmImpl);
    ID.read(in);
    if (fVerboseWriter != null) {
      fVerboseWriter.println("arrayType", ID.value());
    }
    String signature = target.readString("signature", in);
    String genericSignature = null;
    if (withGenericSignature) {
      genericSignature = target.readString("generic signature", in);
    }
    if (ID.isNull()) {
      return null;
    }
    ArrayTypeImpl mirror = (ArrayTypeImpl)vmImpl.getCachedMirror(ID);
    if (mirror == null)
    {
      mirror = new ArrayTypeImpl(vmImpl, ID);
      vmImpl.addCachedMirror(mirror);
    }
    mirror.setSignature(signature);
    mirror.setGenericSignature(genericSignature);
    return mirror;
  }
  
  public List allLineLocations()
  {
    return Collections.EMPTY_LIST;
  }
  
  public List allMethods()
  {
    return Collections.EMPTY_LIST;
  }
  
  public List allFields()
  {
    return Collections.EMPTY_LIST;
  }
  
  public String sourceName()
    throws AbsentInformationException
  {
    throw new AbsentInformationException(JDIMessages.ArrayTypeImpl_No_source_name_for_Arrays_1);
  }
  
  public List visibleFields()
  {
    return Collections.EMPTY_LIST;
  }
  
  public List visibleMethods()
  {
    return Collections.EMPTY_LIST;
  }
  
  public Field fieldByName(String arg1)
  {
    return null;
  }
  
  public List methodsByName(String arg1)
  {
    return Collections.EMPTY_LIST;
  }
  
  public List methodsByName(String arg1, String arg2)
  {
    return Collections.EMPTY_LIST;
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.ArrayTypeImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.BooleanType;
import com.sun.jdi.Value;

public class BooleanTypeImpl
  extends PrimitiveTypeImpl
  implements BooleanType
{
  public BooleanTypeImpl(VirtualMachineImpl vmImpl)
  {
    super("BooleanType", vmImpl, "boolean", "Z");
  }
  
  public byte tag()
  {
    return 90;
  }
  
  public Value createNullValue()
  {
    return virtualMachineImpl().mirrorOf(false);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.BooleanTypeImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.BooleanValue;
import com.sun.jdi.Type;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class BooleanValueImpl
  extends PrimitiveValueImpl
  implements BooleanValue
{
  public static final byte tag = 90;
  
  public BooleanValueImpl(VirtualMachineImpl vmImpl, Boolean value)
  {
    super("BooleanValue", vmImpl, value);
  }
  
  public byte getTag()
  {
    return 90;
  }
  
  public Type type()
  {
    return virtualMachineImpl().getBooleanType();
  }
  
  public boolean value()
  {
    return booleanValue();
  }
  
  public static BooleanValueImpl read(MirrorImpl target, DataInputStream in)
    throws IOException
  {
    VirtualMachineImpl vmImpl = target.virtualMachineImpl();
    boolean value = target.readBoolean("booleanValue", in);
    return new BooleanValueImpl(vmImpl, Boolean.valueOf(value));
  }
  
  public void write(MirrorImpl target, DataOutputStream out)
    throws IOException
  {
    target.writeBoolean(((Boolean)fValue).booleanValue(), "booleanValue", out);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.BooleanValueImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.ByteType;
import com.sun.jdi.Value;

public class ByteTypeImpl
  extends PrimitiveTypeImpl
  implements ByteType
{
  public ByteTypeImpl(VirtualMachineImpl vmImpl)
  {
    super("ByteType", vmImpl, "byte", "B");
  }
  
  public byte tag()
  {
    return 66;
  }
  
  public Value createNullValue()
  {
    return virtualMachineImpl().mirrorOf((byte)0);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.ByteTypeImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.ByteValue;
import com.sun.jdi.Type;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class ByteValueImpl
  extends PrimitiveValueImpl
  implements ByteValue
{
  public static final byte tag = 66;
  
  public ByteValueImpl(VirtualMachineImpl vmImpl, Byte value)
  {
    super("ByteValue", vmImpl, value);
  }
  
  public byte getTag()
  {
    return 66;
  }
  
  public Type type()
  {
    return virtualMachineImpl().getByteType();
  }
  
  public byte value()
  {
    return byteValue();
  }
  
  public static ByteValueImpl read(MirrorImpl target, DataInputStream in)
    throws IOException
  {
    VirtualMachineImpl vmImpl = target.virtualMachineImpl();
    byte value = target.readByte("byteValue", in);
    return new ByteValueImpl(vmImpl, new Byte(value));
  }
  
  public void write(MirrorImpl target, DataOutputStream out)
    throws IOException
  {
    target.writeByte(((Byte)fValue).byteValue(), "byteValue", out);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.ByteValueImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.CharType;
import com.sun.jdi.Value;

public class CharTypeImpl
  extends PrimitiveTypeImpl
  implements CharType
{
  public CharTypeImpl(VirtualMachineImpl vmImpl)
  {
    super("CharType", vmImpl, "char", "C");
  }
  
  public byte tag()
  {
    return 67;
  }
  
  public Value createNullValue()
  {
    return virtualMachineImpl().mirrorOf('\000');
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.CharTypeImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.CharValue;
import com.sun.jdi.Type;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class CharValueImpl
  extends PrimitiveValueImpl
  implements CharValue
{
  public static final byte tag = 67;
  
  public CharValueImpl(VirtualMachineImpl vmImpl, Character value)
  {
    super("CharValue", vmImpl, value);
  }
  
  public byte getTag()
  {
    return 67;
  }
  
  public Type type()
  {
    return virtualMachineImpl().getCharType();
  }
  
  public char value()
  {
    return charValue();
  }
  
  public static CharValueImpl read(MirrorImpl target, DataInputStream in)
    throws IOException
  {
    VirtualMachineImpl vmImpl = target.virtualMachineImpl();
    char value = target.readChar("charValue", in);
    return new CharValueImpl(vmImpl, new Character(value));
  }
  
  public void write(MirrorImpl target, DataOutputStream out)
    throws IOException
  {
    target.writeChar(((Character)fValue).charValue(), "charValue", out);
  }
}

/* Location:
 * Qualified Name:     org.eclipse.jdi.internal.CharValueImpl
 * Java Class Version: 1.2 (46.0)
 * JD-Core Version:    0.7.1
 */
package org.eclipse.jdi.internal;

import com.sun.jdi.ClassLoaderReference;
import com.sun.jdi.ClassNotPreparedException;
import com.sun.jdi.ReferenceType;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.jdi.internal.jdwp.JdwpClassLoaderID;
import org.eclipse.jdi.internal.jdwp.JdwpReplyPacket;

public class ClassLoaderReferenceImpl
  extends ObjectReferenceImpl
  implements ClassLoaderReference
{
  public static final byte tag = 108;
  
  public ClassLoaderReferenceImpl(VirtualMachineImpl vmImpl, JdwpClassLoaderID classLoaderID)
  {
    super("ClassLoaderReference", vmImpl, classLoaderID);
  }
  
  public byte getTag()
  {
    return 108;
  }
  
  public List definedClasses()
  {
    List visibleClasses = visibleClasses();
    List result = new ArrayList(visibleClasses.size());
    Iterator iter = visibleClasses.iterator();
    while (iter.hasNext()) {
      try
      {
        Refe
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

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-2017. Infinite Loop Ltd