final class com.sun.javafx.css.StyleManager$ImageCache
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.javafx.css.StyleManager$ImageCache
super_class: java.lang.Object
{
private java.util.Map<java.lang.String, java.lang.ref.SoftReference<javafx.scene.image.Image>> imageCache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/SoftReference<Ljavafx/scene/image/Image;>;>;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/css/StyleManager$ImageCache;
javafx.scene.image.Image getCachedImage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavafx/scene/image/Image;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.sun.javafx.css.StyleManager.styleLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aconst_null
astore 3
start local 3 2: aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 4
3: aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast javafx.scene.image.Image
astore 3
4: StackMap locals: java.lang.Object javafx.scene.image.Image
StackMap stack:
aload 3
ifnonnull 22
5: new javafx.scene.image.Image
dup
aload 1
invokespecial javafx.scene.image.Image.<init>:(Ljava/lang/String;)V
astore 3
6: aload 3
invokevirtual javafx.scene.image.Image.isError:()Z
ifeq 11
7: invokestatic com.sun.javafx.css.StyleManager.getLogger:()Lcom/sun/javafx/logging/PlatformLogger;
astore 4
start local 4 8: aload 4
ifnull 10
aload 4
getstatic com.sun.javafx.logging.PlatformLogger$Level.WARNING:Lcom/sun/javafx/logging/PlatformLogger$Level;
invokevirtual com.sun.javafx.logging.PlatformLogger.isLoggable:(Lcom/sun/javafx/logging/PlatformLogger$Level;)Z
ifeq 10
9: aload 4
new java.lang.StringBuilder
dup
ldc "Error loading image: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
10: StackMap locals: com.sun.javafx.logging.PlatformLogger
StackMap stack:
aconst_null
astore 3
end local 4 11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
aload 1
new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 22
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
13: astore 4
start local 4 14: invokestatic com.sun.javafx.css.StyleManager.getLogger:()Lcom/sun/javafx/logging/PlatformLogger;
astore 5
start local 5 15: aload 5
ifnull 22
aload 5
getstatic com.sun.javafx.logging.PlatformLogger$Level.WARNING:Lcom/sun/javafx/logging/PlatformLogger$Level;
invokevirtual com.sun.javafx.logging.PlatformLogger.isLoggable:(Lcom/sun/javafx/logging/PlatformLogger$Level;)Z
ifeq 22
16: aload 5
aload 4
invokevirtual java.lang.IllegalArgumentException.getLocalizedMessage:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 5 end local 4 17: goto 22
18: StackMap locals:
StackMap stack: java.lang.NullPointerException
astore 4
start local 4 19: invokestatic com.sun.javafx.css.StyleManager.getLogger:()Lcom/sun/javafx/logging/PlatformLogger;
astore 5
start local 5 20: aload 5
ifnull 22
aload 5
getstatic com.sun.javafx.logging.PlatformLogger$Level.WARNING:Lcom/sun/javafx/logging/PlatformLogger$Level;
invokevirtual com.sun.javafx.logging.PlatformLogger.isLoggable:(Lcom/sun/javafx/logging/PlatformLogger$Level;)Z
ifeq 22
21: aload 5
aload 4
invokevirtual java.lang.NullPointerException.getLocalizedMessage:()Ljava/lang/String;
invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 5 end local 4 22: StackMap locals:
StackMap stack:
aload 3
aload 2
monitorexit
23: areturn
end local 3 24: StackMap locals: com.sun.javafx.css.StyleManager$ImageCache java.lang.String java.lang.Object
StackMap stack: java.lang.Throwable
aload 2
monitorexit
25: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/javafx/css/StyleManager$ImageCache;
0 26 1 url Ljava/lang/String;
2 24 3 image Ljavafx/scene/image/Image;
8 11 4 logger Lcom/sun/javafx/logging/PlatformLogger;
14 17 4 iae Ljava/lang/IllegalArgumentException;
15 17 5 logger Lcom/sun/javafx/logging/PlatformLogger;
19 22 4 npe Ljava/lang/NullPointerException;
20 22 5 logger Lcom/sun/javafx/logging/PlatformLogger;
Exception table:
from to target type
5 12 13 Class java.lang.IllegalArgumentException
5 12 18 Class java.lang.NullPointerException
1 23 24 any
24 25 24 any
MethodParameters:
Name Flags
url
void cleanUpImageCache(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=16, args_size=2
start local 0 start local 1 0: getstatic com.sun.javafx.css.StyleManager.styleLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 1
ifnull 2
aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 4
StackMap locals: java.lang.Object
StackMap stack:
2: aload 2
monitorexit
3: return
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 3
start local 3 5: aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifeq 7
aload 2
monitorexit
6: return
7: StackMap locals: java.lang.String
StackMap stack:
aload 3
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
start local 4 8: iload 4
ifle 9
aload 3
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 10
StackMap locals: int
StackMap stack:
9: aload 3
StackMap locals:
StackMap stack: java.lang.String
10: astore 5
start local 5 11: aload 5
invokevirtual java.lang.String.length:()I
istore 6
start local 6 12: aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
astore 7
start local 7 13: iconst_0
istore 8
start local 8 14: aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
astore 9
start local 9 15: aload 9
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 31
StackMap locals: com.sun.javafx.css.StyleManager$ImageCache java.lang.String java.lang.Object java.lang.String int java.lang.String int java.lang.String[] int java.util.Set top java.util.Iterator
StackMap stack:
16: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 10
start local 10 17: aload 10
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 18: aload 10
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
ifnonnull 21
19: aload 7
iload 8
iinc 8 1
aload 12
aastore
20: goto 31
21: StackMap locals: com.sun.javafx.css.StyleManager$ImageCache java.lang.String java.lang.Object java.lang.String int java.lang.String int java.lang.String[] int java.util.Set java.util.Map$Entry java.util.Iterator java.lang.String
StackMap stack:
aload 12
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 4
22: iload 4
ifle 23
aload 12
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 24
StackMap locals:
StackMap stack:
23: aload 12
StackMap locals:
StackMap stack: java.lang.String
24: astore 13
start local 13 25: aload 13
invokevirtual java.lang.String.length:()I
istore 14
start local 14 26: iload 14
iload 6
if_icmple 27
aload 13
aload 5
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
goto 28
StackMap locals: java.lang.String int
StackMap stack:
27: aload 5
aload 13
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
StackMap locals:
StackMap stack: int
28: istore 15
start local 15 29: iload 15
ifeq 31
30: aload 7
iload 8
iinc 8 1
aload 12
aastore
end local 15 end local 14 end local 13 end local 12 end local 10 31: StackMap locals: com.sun.javafx.css.StyleManager$ImageCache java.lang.String java.lang.Object java.lang.String int java.lang.String int java.lang.String[] int java.util.Set top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
32: iconst_0
istore 10
start local 10 33: goto 36
34: StackMap locals: com.sun.javafx.css.StyleManager$ImageCache java.lang.String java.lang.Object java.lang.String int java.lang.String int java.lang.String[] int java.util.Set int
StackMap stack:
aload 0
getfield com.sun.javafx.css.StyleManager$ImageCache.imageCache:Ljava/util/Map;
aload 7
iload 10
aaload
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
35: iinc 10 1
StackMap locals:
StackMap stack:
36: iload 10
iload 8
if_icmplt 34
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 37: aload 2
monitorexit
38: goto 41
StackMap locals: com.sun.javafx.css.StyleManager$ImageCache java.lang.String java.lang.Object
StackMap stack: java.lang.Throwable
39: aload 2
monitorexit
40: athrow
41: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lcom/sun/javafx/css/StyleManager$ImageCache;
0 42 1 imgFname Ljava/lang/String;
5 37 3 fname Ljava/lang/String;
8 37 4 len I
11 37 5 path Ljava/lang/String;
12 37 6 plen I
13 37 7 entriesToRemove [Ljava/lang/String;
14 37 8 count I
15 37 9 entrySet Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/ref/SoftReference<Ljavafx/scene/image/Image;>;>;>;
17 31 10 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/ref/SoftReference<Ljavafx/scene/image/Image;>;>;
18 31 12 key Ljava/lang/String;
25 31 13 kpath Ljava/lang/String;
26 31 14 klen I
29 31 15 match Z
33 37 10 n I
Exception table:
from to target type
1 3 39 any
4 6 39 any
7 38 39 any
39 40 39 any
MethodParameters:
Name Flags
imgFname
}
SourceFile: "StyleManager.java"
NestHost: com.sun.javafx.css.StyleManager
InnerClasses:
private final ImageCache = com.sun.javafx.css.StyleManager$ImageCache of com.sun.javafx.css.StyleManager
public final Level = com.sun.javafx.logging.PlatformLogger$Level of com.sun.javafx.logging.PlatformLogger
public abstract Entry = java.util.Map$Entry of java.util.Map