final class com.sun.media.sound.PortMixer$PortMixerPort extends com.sun.media.sound.AbstractLine implements javax.sound.sampled.Port
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.media.sound.PortMixer$PortMixerPort
super_class: com.sun.media.sound.AbstractLine
{
private final int portIndex;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long id;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private void <init>(javax.sound.sampled.Port$Info, com.sun.media.sound.PortMixer, int);
descriptor: (Ljavax/sound/sampled/Port$Info;Lcom/sun/media/sound/PortMixer;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
invokespecial com.sun.media.sound.AbstractLine.<init>:(Ljavax/sound/sampled/Line$Info;Lcom/sun/media/sound/AbstractMixer;[Ljavax/sound/sampled/Control;)V
1: aload 0
iload 3
putfield com.sun.media.sound.PortMixer$PortMixerPort.portIndex:I
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
0 3 1 info Ljavax/sound/sampled/Port$Info;
0 3 2 mixer Lcom/sun/media/sound/PortMixer;
0 3 3 portIndex I
MethodParameters:
Name Flags
info
mixer
portIndex
void implOpen();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.mixer:Lcom/sun/media/sound/AbstractMixer;
checkcast com.sun.media.sound.PortMixer
invokevirtual com.sun.media.sound.PortMixer.getID:()J
lstore 1
start local 1 1: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.id:J
lconst_0
lcmp
ifeq 2
lload 1
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.id:J
lcmp
ifne 2
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
arraylength
ifne 16
2: StackMap locals: long
StackMap stack:
aload 0
lload 1
putfield com.sun.media.sound.PortMixer$PortMixerPort.id:J
3: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3
start local 3 4: aload 3
dup
astore 4
monitorenter
5: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.id:J
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.portIndex:I
aload 3
invokestatic com.sun.media.sound.PortMixer.nGetControls:(JILjava/util/Vector;)V
6: aload 0
aload 3
invokevirtual java.util.Vector.size:()I
anewarray javax.sound.sampled.Control
putfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
7: iconst_0
istore 5
start local 5 8: goto 11
9: StackMap locals: java.util.Vector java.util.Vector int
StackMap stack:
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
iload 5
aload 3
iload 5
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.sound.sampled.Control
aastore
10: iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
arraylength
if_icmplt 9
end local 5 12: aload 4
monitorexit
13: goto 17
StackMap locals: com.sun.media.sound.PortMixer$PortMixerPort long java.util.Vector java.util.Vector
StackMap stack: java.lang.Throwable
14: aload 4
monitorexit
15: athrow
end local 3 16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
iconst_1
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.enableControls:([Ljavax/sound/sampled/Control;Z)V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
1 18 1 newID J
4 16 3 vector Ljava/util/Vector;
8 12 5 i I
Exception table:
from to target type
5 13 14 any
14 15 14 any
Exceptions:
throws javax.sound.sampled.LineUnavailableException
private void enableControls(javax.sound.sampled.Control[], boolean);
descriptor: ([Ljavax/sound/sampled/Control;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 15
2: StackMap locals: int
StackMap stack:
aload 1
iload 3
aaload
instanceof com.sun.media.sound.PortMixer$BoolCtrl
ifeq 7
3: aload 1
iload 3
aaload
checkcast com.sun.media.sound.PortMixer$BoolCtrl
iload 2
ifeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack: com.sun.media.sound.PortMixer$BoolCtrl
4: iconst_1
StackMap locals: com.sun.media.sound.PortMixer$PortMixerPort javax.sound.sampled.Control[] int int
StackMap stack: com.sun.media.sound.PortMixer$BoolCtrl int
5: putfield com.sun.media.sound.PortMixer$BoolCtrl.closed:Z
6: goto 14
7: StackMap locals:
StackMap stack:
aload 1
iload 3
aaload
instanceof com.sun.media.sound.PortMixer$FloatCtrl
ifeq 12
8: aload 1
iload 3
aaload
checkcast com.sun.media.sound.PortMixer$FloatCtrl
iload 2
ifeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack: com.sun.media.sound.PortMixer$FloatCtrl
9: iconst_1
StackMap locals: com.sun.media.sound.PortMixer$PortMixerPort javax.sound.sampled.Control[] int int
StackMap stack: com.sun.media.sound.PortMixer$FloatCtrl int
10: putfield com.sun.media.sound.PortMixer$FloatCtrl.closed:Z
11: goto 14
12: StackMap locals:
StackMap stack:
aload 1
iload 3
aaload
instanceof javax.sound.sampled.CompoundControl
ifeq 14
13: aload 0
aload 1
iload 3
aaload
checkcast javax.sound.sampled.CompoundControl
invokevirtual javax.sound.sampled.CompoundControl.getMemberControls:()[Ljavax/sound/sampled/Control;
iload 2
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.enableControls:([Ljavax/sound/sampled/Control;Z)V
14: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 1
arraylength
if_icmplt 2
end local 3 16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
0 17 1 controls [Ljavax/sound/sampled/Control;
0 17 2 enable Z
1 16 3 i I
MethodParameters:
Name Flags
controls
enable
private void disposeControls();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
iconst_0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.enableControls:([Ljavax/sound/sampled/Control;Z)V
1: aload 0
iconst_0
anewarray javax.sound.sampled.Control
putfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
void implClose();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.controls:[Ljavax/sound/sampled/Control;
iconst_0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.enableControls:([Ljavax/sound/sampled/Control;Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
public void open();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.mixer:Lcom/sun/media/sound/AbstractMixer;
dup
astore 1
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.isOpen:()Z
ifne 9
2: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.mixer:Lcom/sun/media/sound/AbstractMixer;
aload 0
invokevirtual com.sun.media.sound.AbstractMixer.open:(Ljavax/sound/sampled/Line;)V
3: aload 0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.implOpen:()V
4: aload 0
iconst_1
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.setOpen:(Z)V
5: goto 9
StackMap locals: com.sun.media.sound.PortMixer$PortMixerPort com.sun.media.sound.AbstractMixer
StackMap stack: javax.sound.sampled.LineUnavailableException
6: astore 2
start local 2 7: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.mixer:Lcom/sun/media/sound/AbstractMixer;
aload 0
invokevirtual com.sun.media.sound.AbstractMixer.close:(Ljavax/sound/sampled/Line;)V
8: aload 2
athrow
end local 2 9: StackMap locals:
StackMap stack:
aload 1
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 1
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
7 9 2 e Ljavax/sound/sampled/LineUnavailableException;
Exception table:
from to target type
3 5 6 Class javax.sound.sampled.LineUnavailableException
1 10 11 any
11 12 11 any
Exceptions:
throws javax.sound.sampled.LineUnavailableException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.mixer:Lcom/sun/media/sound/AbstractMixer;
dup
astore 1
monitorenter
1: aload 0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.isOpen:()Z
ifeq 5
2: aload 0
iconst_0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.setOpen:(Z)V
3: aload 0
invokevirtual com.sun.media.sound.PortMixer$PortMixerPort.implClose:()V
4: aload 0
getfield com.sun.media.sound.PortMixer$PortMixerPort.mixer:Lcom/sun/media/sound/AbstractMixer;
aload 0
invokevirtual com.sun.media.sound.AbstractMixer.close:(Ljavax/sound/sampled/Line;)V
5: StackMap locals: com.sun.media.sound.AbstractMixer
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/media/sound/PortMixer$PortMixerPort;
Exception table:
from to target type
1 6 7 any
7 8 7 any
}
SourceFile: "PortMixer.java"
NestHost: com.sun.media.sound.PortMixer
InnerClasses:
private final BoolCtrl = com.sun.media.sound.PortMixer$BoolCtrl of com.sun.media.sound.PortMixer
private final FloatCtrl = com.sun.media.sound.PortMixer$FloatCtrl of com.sun.media.sound.PortMixer
private final PortMixerPort = com.sun.media.sound.PortMixer$PortMixerPort of com.sun.media.sound.PortMixer
public Info = javax.sound.sampled.Line$Info of javax.sound.sampled.Line
public Info = javax.sound.sampled.Port$Info of javax.sound.sampled.Port