class javafx.collections.FXCollections$SynchronizedObservableMap<K, V> extends javafx.collections.FXCollections$SynchronizedMap<K, V> implements javafx.collections.ObservableMap<K, V>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javafx.collections.FXCollections$SynchronizedObservableMap
super_class: javafx.collections.FXCollections$SynchronizedMap
{
private final javafx.collections.ObservableMap<K, V> backingMap;
descriptor: Ljavafx/collections/ObservableMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavafx/collections/ObservableMap<TK;TV;>;
private com.sun.javafx.collections.MapListenerHelper listenerHelper;
descriptor: Lcom/sun/javafx/collections/MapListenerHelper;
flags: (0x0002) ACC_PRIVATE
private final javafx.collections.MapChangeListener<K, V> listener;
descriptor: Ljavafx/collections/MapChangeListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljavafx/collections/MapChangeListener<TK;TV;>;
void <init>(javafx.collections.ObservableMap<K, V>);
descriptor: (Ljavafx/collections/ObservableMap;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javafx.collections.FXCollections$SynchronizedMap.<init>:(Ljava/util/Map;)V
1: aload 0
aload 1
putfield javafx.collections.FXCollections$SynchronizedObservableMap.backingMap:Ljavafx/collections/ObservableMap;
2: aload 0
aload 0
invokedynamic onChanged(Ljavafx/collections/FXCollections$SynchronizedObservableMap;)Ljavafx/collections/MapChangeListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljavafx/collections/MapChangeListener$Change;)V
javafx/collections/FXCollections$SynchronizedObservableMap.lambda$0(Ljavafx/collections/MapChangeListener$Change;)V (7)
(Ljavafx/collections/MapChangeListener$Change;)V
putfield javafx.collections.FXCollections$SynchronizedObservableMap.listener:Ljavafx/collections/MapChangeListener;
3: aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.backingMap:Ljavafx/collections/ObservableMap;
new javafx.collections.WeakMapChangeListener
dup
aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.listener:Ljavafx/collections/MapChangeListener;
invokespecial javafx.collections.WeakMapChangeListener.<init>:(Ljavafx/collections/MapChangeListener;)V
invokeinterface javafx.collections.ObservableMap.addListener:(Ljavafx/collections/MapChangeListener;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavafx/collections/FXCollections$SynchronizedObservableMap<TK;TV;>;
0 5 1 map Ljavafx/collections/ObservableMap<TK;TV;>;
Signature: (Ljavafx/collections/ObservableMap<TK;TV;>;)V
MethodParameters:
Name Flags
map
public void addListener(javafx.beans.InvalidationListener);
descriptor: (Ljavafx/beans/InvalidationListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.mutex:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
aload 1
invokestatic com.sun.javafx.collections.MapListenerHelper.addListener:(Lcom/sun/javafx/collections/MapListenerHelper;Ljavafx/beans/InvalidationListener;)Lcom/sun/javafx/collections/MapListenerHelper;
putfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
2: aload 2
monitorexit
3: goto 6
StackMap locals: javafx.collections.FXCollections$SynchronizedObservableMap javafx.beans.InvalidationListener java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavafx/collections/FXCollections$SynchronizedObservableMap<TK;TV;>;
0 7 1 listener Ljavafx/beans/InvalidationListener;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
listener
public void removeListener(javafx.beans.InvalidationListener);
descriptor: (Ljavafx/beans/InvalidationListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.mutex:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
aload 1
invokestatic com.sun.javafx.collections.MapListenerHelper.removeListener:(Lcom/sun/javafx/collections/MapListenerHelper;Ljavafx/beans/InvalidationListener;)Lcom/sun/javafx/collections/MapListenerHelper;
putfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
2: aload 2
monitorexit
3: goto 6
StackMap locals: javafx.collections.FXCollections$SynchronizedObservableMap javafx.beans.InvalidationListener java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavafx/collections/FXCollections$SynchronizedObservableMap<TK;TV;>;
0 7 1 listener Ljavafx/beans/InvalidationListener;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
listener
public void addListener(javafx.collections.MapChangeListener<? super K, ? super V>);
descriptor: (Ljavafx/collections/MapChangeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.mutex:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
aload 1
invokestatic com.sun.javafx.collections.MapListenerHelper.addListener:(Lcom/sun/javafx/collections/MapListenerHelper;Ljavafx/collections/MapChangeListener;)Lcom/sun/javafx/collections/MapListenerHelper;
putfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
2: aload 2
monitorexit
3: goto 6
StackMap locals: javafx.collections.FXCollections$SynchronizedObservableMap javafx.collections.MapChangeListener java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavafx/collections/FXCollections$SynchronizedObservableMap<TK;TV;>;
0 7 1 listener Ljavafx/collections/MapChangeListener<-TK;-TV;>;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: (Ljavafx/collections/MapChangeListener<-TK;-TV;>;)V
MethodParameters:
Name Flags
listener
public void removeListener(javafx.collections.MapChangeListener<? super K, ? super V>);
descriptor: (Ljavafx/collections/MapChangeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.mutex:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
aload 1
invokestatic com.sun.javafx.collections.MapListenerHelper.removeListener:(Lcom/sun/javafx/collections/MapListenerHelper;Ljavafx/collections/MapChangeListener;)Lcom/sun/javafx/collections/MapListenerHelper;
putfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
2: aload 2
monitorexit
3: goto 6
StackMap locals: javafx.collections.FXCollections$SynchronizedObservableMap javafx.collections.MapChangeListener java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavafx/collections/FXCollections$SynchronizedObservableMap<TK;TV;>;
0 7 1 listener Ljavafx/collections/MapChangeListener<-TK;-TV;>;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: (Ljavafx/collections/MapChangeListener<-TK;-TV;>;)V
MethodParameters:
Name Flags
listener
private void lambda$0(javafx.collections.MapChangeListener$Change);
descriptor: (Ljavafx/collections/MapChangeListener$Change;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.collections.FXCollections$SynchronizedObservableMap.listenerHelper:Lcom/sun/javafx/collections/MapListenerHelper;
new com.sun.javafx.collections.MapAdapterChange
dup
aload 0
aload 1
invokespecial com.sun.javafx.collections.MapAdapterChange.<init>:(Ljavafx/collections/ObservableMap;Ljavafx/collections/MapChangeListener$Change;)V
invokestatic com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent:(Lcom/sun/javafx/collections/MapListenerHelper;Ljavafx/collections/MapChangeListener$Change;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/collections/FXCollections$SynchronizedObservableMap<TK;TV;>;
0 2 1 c Ljavafx/collections/MapChangeListener$Change<+TK;+TV;>;
}
Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljavafx/collections/FXCollections$SynchronizedMap<TK;TV;>;Ljavafx/collections/ObservableMap<TK;TV;>;
SourceFile: "FXCollections.java"
NestHost: javafx.collections.FXCollections
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private SynchronizedMap = javafx.collections.FXCollections$SynchronizedMap of javafx.collections.FXCollections
private SynchronizedObservableMap = javafx.collections.FXCollections$SynchronizedObservableMap of javafx.collections.FXCollections
public abstract Change = javafx.collections.MapChangeListener$Change of javafx.collections.MapChangeListener