abstract class com.sun.media.sound.AbstractMidiDevice implements javax.sound.midi.MidiDevice, com.sun.media.sound.ReferenceCountingDevice
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.media.sound.AbstractMidiDevice
super_class: java.lang.Object
{
private static final boolean TRACE_TRANSMITTER;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private java.util.ArrayList<javax.sound.midi.Receiver> receiverList;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljavax/sound/midi/Receiver;>;
private com.sun.media.sound.AbstractMidiDevice$TransmitterList transmitterList;
descriptor: Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
flags: (0x0002) ACC_PRIVATE
private final java.lang.Object traRecLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.sound.midi.MidiDevice$Info info;
descriptor: Ljavax/sound/midi/MidiDevice$Info;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean open;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private int openRefCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.Object> openKeepingObjects;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/Object;>;
protected volatile long id;
descriptor: J
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
protected void <init>(javax.sound.midi.MidiDevice$Info);
descriptor: (Ljavax/sound/midi/MidiDevice$Info;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
2: aload 0
aload 1
putfield com.sun.media.sound.AbstractMidiDevice.info:Ljavax/sound/midi/MidiDevice$Info;
3: aload 0
iconst_0
putfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/media/sound/AbstractMidiDevice;
0 5 1 info Ljavax/sound/midi/MidiDevice$Info;
MethodParameters:
Name Flags
info
public final javax.sound.midi.MidiDevice$Info getDeviceInfo();
descriptor: ()Ljavax/sound/midi/MidiDevice$Info;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.info:Ljavax/sound/midi/MidiDevice$Info;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
public final void open();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
iconst_m1
putfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
2: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.doOpen:()V
3: aload 1
monitorexit
4: goto 7
StackMap locals: com.sun.media.sound.AbstractMidiDevice com.sun.media.sound.AbstractMidiDevice
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
private void openInternal(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
iconst_m1
if_icmpeq 4
2: aload 0
dup
getfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
iconst_1
iadd
putfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
3: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.getOpenKeepingObjects:()Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: StackMap locals: com.sun.media.sound.AbstractMidiDevice
StackMap stack:
aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.doOpen:()V
5: aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/media/sound/AbstractMidiDevice;
0 10 1 object Ljava/lang/Object;
Exception table:
from to target type
1 6 7 any
7 8 7 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
MethodParameters:
Name Flags
object
private void doOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.isOpen:()Z
ifne 4
2: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.implOpen:()V
3: aload 0
iconst_1
putfield com.sun.media.sound.AbstractMidiDevice.open:Z
4: StackMap locals: com.sun.media.sound.AbstractMidiDevice
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
public final void close();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.doClose:()V
2: aload 0
iconst_0
putfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
3: aload 1
monitorexit
4: goto 7
StackMap locals: com.sun.media.sound.AbstractMidiDevice com.sun.media.sound.AbstractMidiDevice
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exception table:
from to target type
1 4 5 any
5 6 5 any
public final void closeInternal(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.getOpenKeepingObjects:()Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
ifeq 6
2: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
ifle 6
3: aload 0
dup
getfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
iconst_1
isub
putfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
4: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.openRefCount:I
ifne 6
5: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.doClose:()V
6: StackMap locals: com.sun.media.sound.AbstractMidiDevice
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/AbstractMidiDevice;
0 11 1 object Ljava/lang/Object;
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
object
public final void doClose();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.isOpen:()Z
ifeq 4
2: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.implClose:()V
3: aload 0
iconst_0
putfield com.sun.media.sound.AbstractMidiDevice.open:Z
4: StackMap locals: com.sun.media.sound.AbstractMidiDevice
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exception table:
from to target type
1 5 6 any
6 7 6 any
public final boolean isOpen();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.open:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
protected void implClose();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
ifnull 8
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.sound.midi.Receiver
invokeinterface javax.sound.midi.Receiver.close:()V
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 2 7: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
ifnull 10
9: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
invokevirtual com.sun.media.sound.AbstractMidiDevice$TransmitterList.close:()V
10: StackMap locals:
StackMap stack:
aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/media/sound/AbstractMidiDevice;
3 7 2 i I
Exception table:
from to target type
1 11 12 any
12 13 12 any
public long getMicrosecondPosition();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc -1
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
public final int getMaxReceivers();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.hasReceivers:()Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/AbstractMidiDevice;
public final int getMaxTransmitters();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.hasTransmitters:()Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/AbstractMidiDevice;
public final javax.sound.midi.Receiver getReceiver();
descriptor: ()Ljavax/sound/midi/Receiver;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.createReceiver:()Ljavax/sound/midi/Receiver;
astore 1
start local 1 2: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.getReceiverList:()Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 2
monitorexit
4: goto 7
end local 1 StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 1 7: StackMap locals: com.sun.media.sound.AbstractMidiDevice javax.sound.midi.Receiver
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
2 5 1 receiver Ljavax/sound/midi/Receiver;
7 8 1 receiver Ljavax/sound/midi/Receiver;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
public final java.util.List<javax.sound.midi.Receiver> getReceivers();
descriptor: ()Ljava/util/List;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
ifnonnull 4
2: new java.util.ArrayList
dup
iconst_0
invokespecial java.util.ArrayList.<init>:(I)V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 1
start local 1 3: goto 6
end local 1 4: StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.List
5: invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 1
start local 1 6: StackMap locals: com.sun.media.sound.AbstractMidiDevice java.util.List java.lang.Object
StackMap stack:
aload 2
monitorexit
7: goto 10
end local 1 StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
start local 1 10: StackMap locals: com.sun.media.sound.AbstractMidiDevice java.util.List
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/AbstractMidiDevice;
3 4 1 recs Ljava/util/List<Ljavax/sound/midi/Receiver;>;
6 8 1 recs Ljava/util/List<Ljavax/sound/midi/Receiver;>;
10 11 1 recs Ljava/util/List<Ljavax/sound/midi/Receiver;>;
Exception table:
from to target type
1 7 8 any
8 9 8 any
Signature: ()Ljava/util/List<Ljavax/sound/midi/Receiver;>;
public final javax.sound.midi.Transmitter getTransmitter();
descriptor: ()Ljavax/sound/midi/Transmitter;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.createTransmitter:()Ljavax/sound/midi/Transmitter;
astore 1
start local 1 2: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.getTransmitterList:()Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
aload 1
invokevirtual com.sun.media.sound.AbstractMidiDevice$TransmitterList.add:(Ljavax/sound/midi/Transmitter;)V
3: aload 2
monitorexit
4: goto 7
end local 1 StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 1 7: StackMap locals: com.sun.media.sound.AbstractMidiDevice javax.sound.midi.Transmitter
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
2 5 1 transmitter Ljavax/sound/midi/Transmitter;
7 8 1 transmitter Ljavax/sound/midi/Transmitter;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
public final java.util.List<javax.sound.midi.Transmitter> getTransmitters();
descriptor: ()Ljava/util/List;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
ifnull 3
2: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
getfield com.sun.media.sound.AbstractMidiDevice$TransmitterList.transmitters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifne 5
3: StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack:
new java.util.ArrayList
dup
iconst_0
invokespecial java.util.ArrayList.<init>:(I)V
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 1
start local 1 4: goto 6
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
getfield com.sun.media.sound.AbstractMidiDevice$TransmitterList.transmitters:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.List
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
astore 1
start local 1 6: StackMap locals: com.sun.media.sound.AbstractMidiDevice java.util.List java.lang.Object
StackMap stack:
aload 2
monitorexit
7: goto 10
end local 1 StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
start local 1 10: StackMap locals: com.sun.media.sound.AbstractMidiDevice java.util.List
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/media/sound/AbstractMidiDevice;
4 5 1 tras Ljava/util/List<Ljavax/sound/midi/Transmitter;>;
6 8 1 tras Ljava/util/List<Ljavax/sound/midi/Transmitter;>;
10 11 1 tras Ljava/util/List<Ljavax/sound/midi/Transmitter;>;
Exception table:
from to target type
1 7 8 any
8 9 8 any
Signature: ()Ljava/util/List<Ljavax/sound/midi/Transmitter;>;
final long getId();
descriptor: ()J
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.id:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
public final javax.sound.midi.Receiver getReceiverReferenceCounting();
descriptor: ()Ljavax/sound/midi/Receiver;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.getReceiver:()Ljavax/sound/midi/Receiver;
astore 1
start local 1 2: aload 0
aload 1
invokevirtual com.sun.media.sound.AbstractMidiDevice.openInternal:(Ljava/lang/Object;)V
3: aload 2
monitorexit
4: goto 7
end local 1 StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 1 7: StackMap locals: com.sun.media.sound.AbstractMidiDevice javax.sound.midi.Receiver
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
2 5 1 receiver Ljavax/sound/midi/Receiver;
7 8 1 receiver Ljavax/sound/midi/Receiver;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
public final javax.sound.midi.Transmitter getTransmitterReferenceCounting();
descriptor: ()Ljavax/sound/midi/Transmitter;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.getTransmitter:()Ljavax/sound/midi/Transmitter;
astore 1
start local 1 2: aload 0
aload 1
invokevirtual com.sun.media.sound.AbstractMidiDevice.openInternal:(Ljava/lang/Object;)V
3: aload 2
monitorexit
4: goto 7
end local 1 StackMap locals: com.sun.media.sound.AbstractMidiDevice top java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 1 7: StackMap locals: com.sun.media.sound.AbstractMidiDevice javax.sound.midi.Transmitter
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
2 5 1 transmitter Ljavax/sound/midi/Transmitter;
7 8 1 transmitter Ljavax/sound/midi/Transmitter;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Exceptions:
throws javax.sound.midi.MidiUnavailableException
private synchronized java.util.List<java.lang.Object> getOpenKeepingObjects();
descriptor: ()Ljava/util/List;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.openKeepingObjects:Ljava/util/List;
ifnonnull 2
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.media.sound.AbstractMidiDevice.openKeepingObjects:Ljava/util/List;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.openKeepingObjects:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Signature: ()Ljava/util/List<Ljava/lang/Object;>;
private java.util.List<javax.sound.midi.Receiver> getReceiverList();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
ifnonnull 3
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.receiverList:Ljava/util/ArrayList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exception table:
from to target type
1 4 5 any
5 6 5 any
Signature: ()Ljava/util/List<Ljavax/sound/midi/Receiver;>;
protected boolean hasReceivers();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
protected javax.sound.midi.Receiver createReceiver();
descriptor: ()Ljavax/sound/midi/Receiver;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new javax.sound.midi.MidiUnavailableException
dup
ldc "MIDI IN receiver not available"
invokespecial javax.sound.midi.MidiUnavailableException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exceptions:
throws javax.sound.midi.MidiUnavailableException
final com.sun.media.sound.AbstractMidiDevice$TransmitterList getTransmitterList();
descriptor: ()Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.traRecLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
ifnonnull 3
2: aload 0
new com.sun.media.sound.AbstractMidiDevice$TransmitterList
dup
aload 0
invokespecial com.sun.media.sound.AbstractMidiDevice$TransmitterList.<init>:(Lcom/sun/media/sound/AbstractMidiDevice;)V
putfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.media.sound.AbstractMidiDevice.transmitterList:Lcom/sun/media/sound/AbstractMidiDevice$TransmitterList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exception table:
from to target type
1 4 5 any
5 6 5 any
protected boolean hasTransmitters();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
protected javax.sound.midi.Transmitter createTransmitter();
descriptor: ()Ljavax/sound/midi/Transmitter;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new javax.sound.midi.MidiUnavailableException
dup
ldc "MIDI OUT transmitter not available"
invokespecial javax.sound.midi.MidiUnavailableException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/media/sound/AbstractMidiDevice;
Exceptions:
throws javax.sound.midi.MidiUnavailableException
protected abstract void implOpen();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws javax.sound.midi.MidiUnavailableException
protected final void finalize();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.media.sound.AbstractMidiDevice.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/AbstractMidiDevice;
}
SourceFile: "AbstractMidiDevice.java"
NestMembers:
com.sun.media.sound.AbstractMidiDevice$AbstractReceiver com.sun.media.sound.AbstractMidiDevice$BasicTransmitter com.sun.media.sound.AbstractMidiDevice$TransmitterList
InnerClasses:
abstract AbstractReceiver = com.sun.media.sound.AbstractMidiDevice$AbstractReceiver of com.sun.media.sound.AbstractMidiDevice
BasicTransmitter = com.sun.media.sound.AbstractMidiDevice$BasicTransmitter of com.sun.media.sound.AbstractMidiDevice
final TransmitterList = com.sun.media.sound.AbstractMidiDevice$TransmitterList of com.sun.media.sound.AbstractMidiDevice
public Info = javax.sound.midi.MidiDevice$Info of javax.sound.midi.MidiDevice