public class sun.print.PrintServiceLookupProvider extends javax.print.PrintServiceLookup implements sun.print.BackgroundServiceLookup, java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.print.PrintServiceLookupProvider
super_class: javax.print.PrintServiceLookup
{
private java.lang.String defaultPrinter;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private javax.print.PrintService defaultPrintService;
descriptor: Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
private javax.print.PrintService[] printServices;
descriptor: [Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
private java.util.Vector<sun.print.BackgroundLookupListener> lookupListeners;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Lsun/print/BackgroundLookupListener;>;
private static java.lang.String debugPrefix;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean pollServices;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final int DEFAULT_MINREFRESH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 120
private static int minRefreshTime;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static java.lang.String osname;
descriptor: Ljava/lang/String;
flags: (0x0008) ACC_STATIC
java.lang.String[] lpNameComAix;
descriptor: [Ljava/lang/String;
flags: (0x0000)
private static final int aix_lsallq;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int aix_lpstat_p;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int aix_lpstat_d;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int aix_lpstat_v;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static int aix_defaultPrinterEnumeration;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final int UNINITIALIZED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1
static final int BSD_LPD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int BSD_LPD_NG;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static int cmdIndex;
descriptor: I
flags: (0x0008) ACC_STATIC
java.lang.String[] lpcFirstCom;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String[] lpcAllCom;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String[] lpcNameCom;
descriptor: [Ljava/lang/String;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=0
0: ldc "PrintServiceLookupProvider>> "
putstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
1: iconst_1
putstatic sun.print.PrintServiceLookupProvider.pollServices:Z
2: bipush 120
putstatic sun.print.PrintServiceLookupProvider.minRefreshTime:I
3: iconst_0
putstatic sun.print.PrintServiceLookupProvider.aix_defaultPrinterEnumeration:I
4: new sun.security.action.GetPropertyAction
dup
ldc "sun.java2d.print.polling"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 0
start local 0 6: aload 0
ifnull 12
7: aload 0
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
8: iconst_1
putstatic sun.print.PrintServiceLookupProvider.pollServices:Z
9: goto 12
StackMap locals: java.lang.String
StackMap stack:
10: aload 0
ldc "false"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
11: iconst_0
putstatic sun.print.PrintServiceLookupProvider.pollServices:Z
12: StackMap locals:
StackMap stack:
new sun.security.action.GetPropertyAction
dup
13: ldc "sun.java2d.print.minRefreshTime"
14: invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
15: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 16: aload 1
ifnull 22
17: aload 1
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic sun.print.PrintServiceLookupProvider.minRefreshTime:I
18: goto 20
StackMap locals: java.lang.String java.lang.String
StackMap stack: java.lang.NumberFormatException
19: pop
20: StackMap locals:
StackMap stack:
getstatic sun.print.PrintServiceLookupProvider.minRefreshTime:I
bipush 120
if_icmpge 22
21: bipush 120
putstatic sun.print.PrintServiceLookupProvider.minRefreshTime:I
22: StackMap locals:
StackMap stack:
new sun.security.action.GetPropertyAction
dup
ldc "os.name"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
23: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic sun.print.PrintServiceLookupProvider.osname:Ljava/lang/String;
24: invokestatic sun.print.PrintServiceLookupProvider.isAIX:()Z
ifeq 33
25: new sun.security.action.GetPropertyAction
dup
ldc "sun.java2d.print.aix.lpstat"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
26: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 27: aload 2
ifnull 33
28: aload 2
ldc "lpstat"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 31
29: iconst_1
putstatic sun.print.PrintServiceLookupProvider.aix_defaultPrinterEnumeration:I
30: goto 33
StackMap locals: java.lang.String
StackMap stack:
31: aload 2
ldc "lsallq"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 33
32: iconst_0
putstatic sun.print.PrintServiceLookupProvider.aix_defaultPrinterEnumeration:I
end local 2 end local 1 end local 0 33: StackMap locals:
StackMap stack:
iconst_m1
putstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
return
LocalVariableTable:
Start End Slot Name Signature
6 33 0 pollStr Ljava/lang/String;
16 33 1 refreshTimeStr Ljava/lang/String;
27 33 2 aixPrinterEnumerator Ljava/lang/String;
Exception table:
from to target type
17 18 19 Class java.lang.NumberFormatException
static boolean isMac();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.print.PrintServiceLookupProvider.osname:Ljava/lang/String;
ldc "Mac"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static boolean isLinux();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.print.PrintServiceLookupProvider.osname:Ljava/lang/String;
ldc "Linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static boolean isBSD();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.print.PrintServiceLookupProvider.osname:Ljava/lang/String;
ldc "Linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
1: getstatic sun.print.PrintServiceLookupProvider.osname:Ljava/lang/String;
ldc "OS X"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
static boolean isAIX();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic sun.print.PrintServiceLookupProvider.osname:Ljava/lang/String;
ldc "AIX"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int getBSDCommandIndex();
descriptor: ()I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: ldc "/usr/sbin/lpc status all"
astore 0
start local 0 1: aload 0
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 2: aload 1
ifnull 3
aload 1
arraylength
ifne 4
3: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: goto 9
6: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
bipush 64
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
if_icmplt 6
end local 2 10: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 11 0 command Ljava/lang/String;
2 11 1 names [Ljava/lang/String;
5 10 2 i I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
invokespecial javax.print.PrintServiceLookup.<init>:()V
1: aload 0
aconst_null
putfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
2: aload 0
iconst_4
anewarray java.lang.String
dup
iconst_0
3: ldc "/usr/bin/lsallq"
aastore
dup
iconst_1
4: ldc "/usr/bin/lpstat -W -p|/usr/bin/expand|/usr/bin/cut -f1 -d' '"
aastore
dup
iconst_2
5: ldc "/usr/bin/lpstat -W -d|/usr/bin/expand|/usr/bin/cut -f1 -d' '"
aastore
dup
iconst_3
6: ldc "/usr/bin/lpstat -W -v"
aastore
putfield sun.print.PrintServiceLookupProvider.lpNameComAix:[Ljava/lang/String;
7: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
8: ldc "/usr/sbin/lpc status | grep : | sed -ne '1,1 s/://p'"
aastore
dup
iconst_1
9: ldc "/usr/sbin/lpc status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
aastore
putfield sun.print.PrintServiceLookupProvider.lpcFirstCom:[Ljava/lang/String;
10: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
11: ldc "/usr/sbin/lpc status all | grep : | sed -e 's/://'"
aastore
dup
iconst_1
12: ldc "/usr/sbin/lpc status all | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}' | sort"
aastore
putfield sun.print.PrintServiceLookupProvider.lpcAllCom:[Ljava/lang/String;
13: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
14: ldc "| grep : | sed -ne 's/://p'"
aastore
dup
iconst_1
15: ldc "| grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
aastore
putfield sun.print.PrintServiceLookupProvider.lpcNameCom:[Ljava/lang/String;
16: getstatic sun.print.PrintServiceLookupProvider.pollServices:Z
ifeq 23
17: new java.lang.Thread
dup
aconst_null
new sun.print.PrintServiceLookupProvider$PrinterChangeListener
dup
aload 0
invokespecial sun.print.PrintServiceLookupProvider$PrinterChangeListener.<init>:(Lsun/print/PrintServiceLookupProvider;)V
18: ldc "PrinterListener"
lconst_0
iconst_0
19: invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
astore 1
start local 1 20: aload 1
iconst_1
invokevirtual java.lang.Thread.setDaemon:(Z)V
21: aload 1
invokevirtual java.lang.Thread.start:()V
22: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "polling turned on"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 1 23: StackMap locals: sun.print.PrintServiceLookupProvider
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/print/PrintServiceLookupProvider;
20 23 1 thr Ljava/lang/Thread;
public synchronized javax.print.PrintService[] getPrintServices();
descriptor: ()[Ljavax/print/PrintService;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnull 4
getstatic sun.print.PrintServiceLookupProvider.pollServices:Z
ifne 5
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.print.PrintServiceLookupProvider.refreshServices:()V
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnonnull 7
6: iconst_0
anewarray javax.print.PrintService
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
invokevirtual javax.print.PrintService[].clone:()Ljava/lang/Object;
checkcast javax.print.PrintService[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/print/PrintServiceLookupProvider;
1 8 1 security Ljava/lang/SecurityManager;
private int addPrintServiceToList(java.util.ArrayList<javax.print.PrintService>, javax.print.PrintService);
descriptor: (Ljava/util/ArrayList;Ljavax/print/PrintService;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 3
start local 3 1: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 13
iload 3
iconst_m1
if_icmpeq 13
2: aload 2
ldc Ljavax/print/attribute/standard/PrinterURI;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
checkcast javax.print.attribute.standard.PrinterURI
astore 4
start local 4 3: aload 4
invokevirtual javax.print.attribute.standard.PrinterURI.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
ldc "localhost"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "duplicate PrintService, ignoring the new local printer: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
5: iload 3
ireturn
6: StackMap locals: int javax.print.attribute.standard.PrinterURI
StackMap stack:
aload 1
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast javax.print.PrintService
astore 5
start local 5 7: aload 5
ldc Ljavax/print/attribute/standard/PrinterURI;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
checkcast javax.print.attribute.standard.PrinterURI
astore 4
8: aload 4
invokevirtual javax.print.attribute.standard.PrinterURI.getURI:()Ljava/net/URI;
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
ldc "localhost"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
9: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "duplicate PrintService, removing existing local printer: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
10: aload 1
aload 5
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
11: goto 13
12: StackMap locals: javax.print.PrintService
StackMap stack:
iload 3
ireturn
end local 5 end local 4 13: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
14: aload 1
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/print/PrintServiceLookupProvider;
0 15 1 printerList Ljava/util/ArrayList<Ljavax/print/PrintService;>;
0 15 2 ps Ljavax/print/PrintService;
1 15 3 index I
3 13 4 uri Ljavax/print/attribute/standard/PrinterURI;
7 13 5 oldPS Ljavax/print/PrintService;
Signature: (Ljava/util/ArrayList<Ljavax/print/PrintService;>;Ljavax/print/PrintService;)I
MethodParameters:
Name Flags
printerList
ps
public synchronized void refreshServices();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getDefaultPrintService:()Ljavax/print/PrintService;
pop
3: goto 8
StackMap locals: sun.print.PrintServiceLookupProvider java.lang.String[] java.lang.String[]
StackMap stack: java.lang.Throwable
4: astore 3
start local 3 5: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: ldc "Exception getting default printer : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 3 8: StackMap locals:
StackMap stack:
invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 31
9: invokestatic sun.print.CUPSPrinter.getAllPrinters:()[Ljava/lang/String;
astore 2
10: new java.lang.StringBuilder
dup
ldc "CUPS URIs = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
11: aload 2
ifnull 22
12: iconst_0
istore 3
start local 3 13: goto 16
14: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "URI="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
15: iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
aload 2
arraylength
if_icmplt 14
end local 3 17: goto 22
StackMap locals: sun.print.PrintServiceLookupProvider java.lang.String[] java.lang.String[]
StackMap stack: java.lang.Throwable
18: astore 3
start local 3 19: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: ldc "Exception getting all CUPS printers : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 3 22: StackMap locals:
StackMap stack:
aload 2
ifnull 38
aload 2
arraylength
ifle 38
23: aload 2
arraylength
anewarray java.lang.String
astore 1
24: iconst_0
istore 3
start local 3 25: goto 29
26: StackMap locals: int
StackMap stack:
aload 2
iload 3
aaload
ldc "/"
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 4
start local 4 27: aload 1
iload 3
aload 2
iload 3
aaload
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aastore
end local 4 28: iinc 3 1
StackMap locals:
StackMap stack:
29: iload 3
aload 2
arraylength
if_icmplt 26
end local 3 30: goto 38
31: StackMap locals:
StackMap stack:
invokestatic sun.print.PrintServiceLookupProvider.isMac:()Z
ifeq 34
32: aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getAllPrinterNamesSysV:()[Ljava/lang/String;
astore 1
33: goto 38
StackMap locals:
StackMap stack:
34: invokestatic sun.print.PrintServiceLookupProvider.isAIX:()Z
ifeq 37
35: aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getAllPrinterNamesAIX:()[Ljava/lang/String;
astore 1
36: goto 38
37: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getAllPrinterNamesBSD:()[Ljava/lang/String;
astore 1
38: StackMap locals:
StackMap stack:
aload 1
ifnonnull 45
39: aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
ifnull 43
40: aload 0
iconst_1
anewarray javax.print.PrintService
putfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
41: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iconst_0
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
aastore
42: goto 44
43: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
44: StackMap locals:
StackMap stack:
return
45: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 46: iconst_m1
istore 4
start local 4 47: iconst_0
istore 5
start local 5 48: goto 101
49: StackMap locals: java.util.ArrayList int int
StackMap stack:
aload 1
iload 5
aaload
ifnonnull 51
50: goto 100
51: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
ifnull 55
52: aload 1
iload 5
aaload
aload 0
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
invokevirtual sun.print.PrintServiceLookupProvider.getPrinterDestName:(Ljavax/print/PrintService;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 55
53: aload 0
aload 3
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
invokevirtual sun.print.PrintServiceLookupProvider.addPrintServiceToList:(Ljava/util/ArrayList;Ljavax/print/PrintService;)I
istore 4
54: goto 100
55: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnonnull 75
56: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
57: ldc "total# of printers = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
58: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
59: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 73
60: aload 0
aload 3
61: new sun.print.IPPPrintService
dup
aload 1
iload 5
aaload
62: aload 2
iload 5
aaload
63: iconst_1
64: invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
65: invokevirtual sun.print.PrintServiceLookupProvider.addPrintServiceToList:(Ljava/util/ArrayList;Ljavax/print/PrintService;)I
pop
66: goto 100
StackMap locals:
StackMap stack: java.lang.Exception
67: astore 6
start local 6 68: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
69: ldc " getAllPrinters Exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
70: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
71: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 6 72: goto 100
73: StackMap locals:
StackMap stack:
aload 3
new sun.print.UnixPrintService
dup
aload 1
iload 5
aaload
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
74: goto 100
75: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 76: goto 83
77: StackMap locals: int
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 6
aaload
ifnull 82
78: aload 1
iload 5
aaload
aload 0
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 6
aaload
invokevirtual sun.print.PrintServiceLookupProvider.getPrinterDestName:(Ljavax/print/PrintService;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 82
79: aload 3
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 6
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
80: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 6
aconst_null
aastore
81: goto 84
82: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
83: iload 6
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
arraylength
if_icmplt 77
84: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
arraylength
if_icmpne 100
85: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 99
86: aload 0
aload 3
87: new sun.print.IPPPrintService
dup
aload 1
iload 5
aaload
88: aload 2
iload 5
aaload
89: iconst_1
90: invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
91: invokevirtual sun.print.PrintServiceLookupProvider.addPrintServiceToList:(Ljava/util/ArrayList;Ljavax/print/PrintService;)I
pop
92: goto 100
StackMap locals:
StackMap stack: java.lang.Exception
93: astore 7
start local 7 94: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
95: ldc " getAllPrinters Exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
96: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
97: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 7 98: goto 100
99: StackMap locals:
StackMap stack:
aload 3
new sun.print.UnixPrintService
dup
aload 1
iload 5
aaload
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 100: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
101: iload 5
aload 1
arraylength
if_icmplt 49
end local 5 102: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnull 110
103: iconst_0
istore 5
start local 5 104: goto 109
105: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 5
aaload
instanceof sun.print.UnixPrintService
ifeq 108
106: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 5
aaload
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
invokeinterface javax.print.PrintService.equals:(Ljava/lang/Object;)Z
ifne 108
107: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 5
aaload
checkcast sun.print.UnixPrintService
invokevirtual sun.print.UnixPrintService.invalidateService:()V
108: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
109: iload 5
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
arraylength
if_icmplt 105
end local 5 110: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 112
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
ifnull 112
111: aload 0
aload 3
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
invokevirtual sun.print.PrintServiceLookupProvider.addPrintServiceToList:(Ljava/util/ArrayList;Ljavax/print/PrintService;)I
istore 4
112: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
anewarray javax.print.PrintService
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.print.PrintService[]
putfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
113: iload 4
ifle 117
114: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iconst_0
aaload
astore 5
start local 5 115: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iconst_0
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 4
aaload
aastore
116: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 4
aload 5
aastore
end local 5 117: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 118 0 this Lsun/print/PrintServiceLookupProvider;
1 118 1 printers [Ljava/lang/String;
2 118 2 printerURIs [Ljava/lang/String;
5 8 3 t Ljava/lang/Throwable;
13 17 3 p I
19 22 3 t Ljava/lang/Throwable;
25 30 3 i I
27 28 4 lastIndex I
46 118 3 printerList Ljava/util/ArrayList<Ljavax/print/PrintService;>;
47 118 4 defaultIndex I
48 102 5 p I
68 72 6 e Ljava/lang/Exception;
76 100 6 j I
94 98 7 e Ljava/lang/Exception;
104 110 5 j I
115 117 5 saveService Ljavax/print/PrintService;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
9 17 18 Class java.lang.Throwable
60 66 67 Class java.lang.Exception
86 92 93 Class java.lang.Exception
private boolean matchesAttributes(javax.print.PrintService, javax.print.attribute.PrintServiceAttributeSet);
descriptor: (Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.print.attribute.PrintServiceAttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 8
3: StackMap locals: javax.print.attribute.Attribute[] int
StackMap stack:
aload 1
aload 3
iload 4
aaload
invokeinterface javax.print.attribute.Attribute.getCategory:()Ljava/lang/Class;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
4: astore 5
start local 5 5: aload 5
ifnull 6
aload 5
aload 3
iload 4
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
6: StackMap locals: javax.print.attribute.Attribute
StackMap stack:
iconst_0
ireturn
end local 5 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 3
arraylength
if_icmplt 3
end local 4 9: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/print/PrintServiceLookupProvider;
0 10 1 service Ljavax/print/PrintService;
0 10 2 attributes Ljavax/print/attribute/PrintServiceAttributeSet;
1 10 3 attrs [Ljavax/print/attribute/Attribute;
2 9 4 i I
5 7 5 serviceAttr Ljavax/print/attribute/Attribute;
MethodParameters:
Name Flags
service
attributes
private boolean checkPrinterName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: goto 8
2: StackMap locals: sun.print.PrintServiceLookupProvider java.lang.String top int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 3: iload 2
invokestatic java.lang.Character.isLetterOrDigit:(C)Z
ifne 7
4: iload 2
bipush 45
if_icmpeq 7
iload 2
bipush 95
if_icmpeq 7
iload 2
bipush 46
if_icmpeq 7
iload 2
bipush 47
if_icmpne 6
5: goto 7
6: StackMap locals: sun.print.PrintServiceLookupProvider java.lang.String int int
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iinc 3 1
end local 2 StackMap locals: sun.print.PrintServiceLookupProvider java.lang.String top int
StackMap stack:
8: iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 2
end local 3 9: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/print/PrintServiceLookupProvider;
0 10 1 s Ljava/lang/String;
3 8 2 c C
1 9 3 i I
MethodParameters:
Name Flags
s
private java.lang.String getPrinterDestName(javax.print.PrintService);
descriptor: (Ljavax/print/PrintService;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic sun.print.PrintServiceLookupProvider.isMac:()Z
ifeq 2
1: aload 1
checkcast sun.print.IPPPrintService
invokevirtual sun.print.IPPPrintService.getDest:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.print.PrintService.getName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/print/PrintServiceLookupProvider;
0 3 1 ps Ljavax/print/PrintService;
MethodParameters:
Name Flags
ps
private javax.print.PrintService getServiceByName(javax.print.attribute.standard.PrinterName);
descriptor: (Ljavax/print/attribute/standard/PrinterName;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.print.attribute.standard.PrinterName.getValue:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 2
aload 0
aload 2
invokevirtual sun.print.PrintServiceLookupProvider.checkPrinterName:(Ljava/lang/String;)Z
ifne 3
2: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnull 11
4: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: sun.print.PrintServiceLookupProvider javax.print.attribute.standard.PrinterName java.lang.String top int int javax.print.PrintService[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
ldc Ljavax/print/attribute/standard/PrinterName;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
checkcast javax.print.attribute.standard.PrinterName
astore 7
start local 7 7: aload 7
invokevirtual javax.print.attribute.standard.PrinterName.getValue:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aload 3
areturn
end local 7 end local 3 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 5
11: StackMap locals: sun.print.PrintServiceLookupProvider javax.print.attribute.standard.PrinterName java.lang.String
StackMap stack:
invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 25
12: new sun.print.IPPPrintService
dup
aload 2
13: new java.net.URL
dup
new java.lang.StringBuilder
dup
ldc "http://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: invokestatic sun.print.CUPSPrinter.getServer:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokestatic sun.print.CUPSPrinter.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
18: invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/net/URL;)V
19: areturn
20: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 21: new java.lang.StringBuilder
dup
getstatic sun.print.PrintServiceLookupProvider.debugPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: ldc " getServiceByName Exception "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
end local 3 25: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 26: invokestatic sun.print.PrintServiceLookupProvider.isMac:()Z
ifeq 29
27: aload 0
aload 2
invokevirtual sun.print.PrintServiceLookupProvider.getNamedPrinterNameSysV:(Ljava/lang/String;)Ljavax/print/PrintService;
astore 3
28: goto 33
StackMap locals: javax.print.PrintService
StackMap stack:
29: invokestatic sun.print.PrintServiceLookupProvider.isAIX:()Z
ifeq 32
30: aload 0
aload 2
invokevirtual sun.print.PrintServiceLookupProvider.getNamedPrinterNameAIX:(Ljava/lang/String;)Ljavax/print/PrintService;
astore 3
31: goto 33
32: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.print.PrintServiceLookupProvider.getNamedPrinterNameBSD:(Ljava/lang/String;)Ljavax/print/PrintService;
astore 3
33: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/print/PrintServiceLookupProvider;
0 34 1 nameAttr Ljavax/print/attribute/standard/PrinterName;
1 34 2 name Ljava/lang/String;
6 9 3 printService Ljavax/print/PrintService;
7 9 7 printerName Ljavax/print/attribute/standard/PrinterName;
21 25 3 e Ljava/lang/Exception;
26 34 3 printer Ljavax/print/PrintService;
Exception table:
from to target type
12 19 20 Class java.lang.Exception
MethodParameters:
Name Flags
nameAttr
private javax.print.PrintService[] getPrintServices(javax.print.attribute.PrintServiceAttributeSet);
descriptor: (Ljavax/print/attribute/PrintServiceAttributeSet;)[Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokeinterface javax.print.attribute.PrintServiceAttributeSet.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getPrintServices:()[Ljavax/print/PrintService;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljavax/print/attribute/standard/PrinterName;
invokeinterface javax.print.attribute.PrintServiceAttributeSet.get:(Ljava/lang/Class;)Ljavax/print/attribute/Attribute;
checkcast javax.print.attribute.standard.PrinterName
astore 3
start local 3 3: aload 3
ifnull 19
aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getDefaultPrintService:()Ljavax/print/PrintService;
dup
astore 4
start local 4 4: ifnull 19
5: aload 4
ldc Ljavax/print/attribute/standard/PrinterName;
invokeinterface javax.print.PrintService.getAttribute:(Ljava/lang/Class;)Ljavax/print/attribute/PrintServiceAttribute;
checkcast javax.print.attribute.standard.PrinterName
astore 5
start local 5 6: aload 5
ifnull 12
aload 3
aload 5
invokevirtual javax.print.attribute.standard.PrinterName.equals:(Ljava/lang/Object;)Z
ifeq 12
7: aload 0
aload 4
aload 1
invokevirtual sun.print.PrintServiceLookupProvider.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
ifeq 11
8: iconst_1
anewarray javax.print.PrintService
astore 2
start local 2 9: aload 2
iconst_0
aload 4
aastore
10: aload 2
areturn
end local 2 11: StackMap locals: sun.print.PrintServiceLookupProvider javax.print.attribute.PrintServiceAttributeSet top javax.print.attribute.standard.PrinterName javax.print.PrintService javax.print.attribute.standard.PrinterName
StackMap stack:
iconst_0
anewarray javax.print.PrintService
areturn
12: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.print.PrintServiceLookupProvider.getServiceByName:(Ljavax/print/attribute/standard/PrinterName;)Ljavax/print/PrintService;
astore 6
start local 6 13: aload 6
ifnull 18
14: aload 0
aload 6
aload 1
invokevirtual sun.print.PrintServiceLookupProvider.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
ifeq 18
15: iconst_1
anewarray javax.print.PrintService
astore 2
start local 2 16: aload 2
iconst_0
aload 6
aastore
17: aload 2
areturn
end local 2 18: StackMap locals: javax.print.PrintService
StackMap stack:
iconst_0
anewarray javax.print.PrintService
areturn
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 5
start local 5 20: aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getPrintServices:()[Ljavax/print/PrintService;
astore 2
start local 2 21: iconst_0
istore 6
start local 6 22: goto 26
23: StackMap locals: sun.print.PrintServiceLookupProvider javax.print.attribute.PrintServiceAttributeSet javax.print.PrintService[] javax.print.attribute.standard.PrinterName top java.util.Vector int
StackMap stack:
aload 0
aload 2
iload 6
aaload
aload 1
invokevirtual sun.print.PrintServiceLookupProvider.matchesAttributes:(Ljavax/print/PrintService;Ljavax/print/attribute/PrintServiceAttributeSet;)Z
ifeq 25
24: aload 5
aload 2
iload 6
aaload
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
26: iload 6
aload 2
arraylength
if_icmplt 23
end local 6 27: aload 5
invokevirtual java.util.Vector.size:()I
anewarray javax.print.PrintService
astore 2
28: iconst_0
istore 6
start local 6 29: goto 32
30: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 5
iload 6
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast javax.print.PrintService
aastore
31: iinc 6 1
StackMap locals:
StackMap stack:
32: iload 6
aload 2
arraylength
if_icmplt 30
end local 6 33: aload 2
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/print/PrintServiceLookupProvider;
0 34 1 serviceSet Ljavax/print/attribute/PrintServiceAttributeSet;
9 11 2 services [Ljavax/print/PrintService;
16 18 2 services [Ljavax/print/PrintService;
21 34 2 services [Ljavax/print/PrintService;
3 34 3 name Ljavax/print/attribute/standard/PrinterName;
4 19 4 defService Ljavax/print/PrintService;
6 19 5 defName Ljavax/print/attribute/standard/PrinterName;
13 19 6 service Ljavax/print/PrintService;
20 34 5 matchedServices Ljava/util/Vector<Ljavax/print/PrintService;>;
22 27 6 i I
29 33 6 i I
MethodParameters:
Name Flags
serviceSet
public javax.print.PrintService[] getPrintServices(javax.print.DocFlavor, javax.print.attribute.AttributeSet);
descriptor: (Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/PrintService;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aconst_null
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: aload 2
ifnull 18
aload 2
invokeinterface javax.print.attribute.AttributeSet.isEmpty:()Z
ifne 18
6: new javax.print.attribute.HashPrintRequestAttributeSet
dup
invokespecial javax.print.attribute.HashPrintRequestAttributeSet.<init>:()V
astore 4
7: new javax.print.attribute.HashPrintServiceAttributeSet
dup
invokespecial javax.print.attribute.HashPrintServiceAttributeSet.<init>:()V
astore 5
8: aload 2
invokeinterface javax.print.attribute.AttributeSet.toArray:()[Ljavax/print/attribute/Attribute;
astore 6
start local 6 9: iconst_0
istore 7
start local 7 10: goto 17
11: StackMap locals: sun.print.PrintServiceLookupProvider javax.print.DocFlavor javax.print.attribute.AttributeSet java.lang.SecurityManager javax.print.attribute.PrintRequestAttributeSet javax.print.attribute.PrintServiceAttributeSet javax.print.attribute.Attribute[] int
StackMap stack:
aload 6
iload 7
aaload
instanceof javax.print.attribute.PrintRequestAttribute
ifeq 14
12: aload 4
aload 6
iload 7
aaload
invokeinterface javax.print.attribute.PrintRequestAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
pop
13: goto 16
StackMap locals:
StackMap stack:
14: aload 6
iload 7
aaload
instanceof javax.print.attribute.PrintServiceAttribute
ifeq 16
15: aload 5
aload 6
iload 7
aaload
invokeinterface javax.print.attribute.PrintServiceAttributeSet.add:(Ljavax/print/attribute/Attribute;)Z
pop
16: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
aload 6
arraylength
if_icmplt 11
end local 7 end local 6 18: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual sun.print.PrintServiceLookupProvider.getPrintServices:(Ljavax/print/attribute/PrintServiceAttributeSet;)[Ljavax/print/PrintService;
astore 6
start local 6 19: aload 6
arraylength
ifne 21
20: aload 6
areturn
21: StackMap locals: javax.print.PrintService[]
StackMap stack:
invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 35
22: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 23: iconst_0
istore 8
start local 8 24: goto 32
25: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 6
iload 8
aaload
26: aload 1
aload 4
invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
27: ifnonnull 31
28: aload 7
aload 6
iload 8
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
29: goto 31
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
30: pop
31: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
32: iload 8
aload 6
arraylength
if_icmplt 25
end local 8 33: aload 7
invokevirtual java.util.ArrayList.size:()I
anewarray javax.print.PrintService
astore 6
34: aload 7
aload 6
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.print.PrintService[]
areturn
end local 7 35: StackMap locals:
StackMap stack:
aload 6
iconst_0
aaload
astore 7
start local 7 36: aload 1
ifnull 38
37: aload 7
aload 1
invokeinterface javax.print.PrintService.isDocFlavorSupported:(Ljavax/print/DocFlavor;)Z
ifeq 40
38: StackMap locals: javax.print.PrintService
StackMap stack:
aload 7
aload 1
aload 4
invokeinterface javax.print.PrintService.getUnsupportedAttributes:(Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)Ljavax/print/attribute/AttributeSet;
ifnonnull 40
39: aload 6
areturn
40: StackMap locals:
StackMap stack:
iconst_0
anewarray javax.print.PrintService
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/print/PrintServiceLookupProvider;
0 41 1 flavor Ljavax/print/DocFlavor;
0 41 2 attributes Ljavax/print/attribute/AttributeSet;
1 41 3 security Ljava/lang/SecurityManager;
4 41 4 requestSet Ljavax/print/attribute/PrintRequestAttributeSet;
5 41 5 serviceSet Ljavax/print/attribute/PrintServiceAttributeSet;
9 18 6 attrs [Ljavax/print/attribute/Attribute;
10 18 7 i I
19 41 6 services [Ljavax/print/PrintService;
23 35 7 matchingServices Ljava/util/ArrayList<Ljavax/print/PrintService;>;
24 33 8 i I
36 41 7 service Ljavax/print/PrintService;
Exception table:
from to target type
25 29 30 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
flavor
attributes
public javax.print.MultiDocPrintService[] getMultiDocPrintServices(javax.print.DocFlavor[], javax.print.attribute.AttributeSet);
descriptor: ([Ljavax/print/DocFlavor;Ljavax/print/attribute/AttributeSet;)[Ljavax/print/MultiDocPrintService;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
iconst_0
anewarray javax.print.MultiDocPrintService
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/print/PrintServiceLookupProvider;
0 4 1 flavors [Ljavax/print/DocFlavor;
0 4 2 attributes Ljavax/print/attribute/AttributeSet;
1 4 3 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
flavors
attributes
public synchronized javax.print.PrintService getDefaultPrintService();
descriptor: ()Ljavax/print/PrintService;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.SecurityManager.checkPrintJobAccess:()V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
aconst_null
putfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
4: aconst_null
astore 2
start local 2 5: new java.lang.StringBuilder
dup
ldc "isRunning ? "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic sun.print.IPPPrintService.debug_println:(Ljava/lang/String;)V
8: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 14
9: invokestatic sun.print.CUPSPrinter.getDefaultPrinter:()[Ljava/lang/String;
astore 3
start local 3 10: aload 3
ifnull 21
aload 3
arraylength
iconst_2
if_icmplt 21
11: aload 0
aload 3
iconst_0
aaload
putfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
12: aload 3
iconst_1
aaload
astore 2
end local 3 13: goto 21
14: StackMap locals: java.lang.String
StackMap stack:
invokestatic sun.print.PrintServiceLookupProvider.isMac:()Z
ifeq 17
15: aload 0
invokestatic sun.print.PrintServiceLookupProvider.getDefaultPrinterNameSysV:()Ljava/lang/String;
putfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
16: goto 21
StackMap locals:
StackMap stack:
17: invokestatic sun.print.PrintServiceLookupProvider.isAIX:()Z
ifeq 20
18: aload 0
aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getDefaultPrinterNameAIX:()Ljava/lang/String;
putfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getDefaultPrinterNameBSD:()Ljava/lang/String;
putfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
ifnonnull 23
22: aconst_null
areturn
23: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
24: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnull 32
25: iconst_0
istore 3
start local 3 26: goto 31
27: StackMap locals: int
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
aload 0
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 3
aaload
invokevirtual sun.print.PrintServiceLookupProvider.getPrinterDestName:(Ljavax/print/PrintService;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
28: aload 0
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
iload 3
aaload
putfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
29: goto 32
30: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
31: iload 3
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
arraylength
if_icmplt 27
end local 3 32: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
ifnonnull 51
33: invokestatic sun.print.CUPSPrinter.isCupsRunning:()Z
ifeq 50
34: aload 2
ifnull 39
aload 2
ldc "file"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 39
35: new sun.print.IPPPrintService
dup
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
36: aload 2
iconst_1
37: invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
astore 3
start local 3 38: goto 46
end local 3 39: StackMap locals:
StackMap stack:
new sun.print.IPPPrintService
dup
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
40: new java.net.URL
dup
new java.lang.StringBuilder
dup
ldc "http://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: invokestatic sun.print.CUPSPrinter.getServer:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: invokestatic sun.print.CUPSPrinter.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
45: invokespecial sun.print.IPPPrintService.<init>:(Ljava/lang/String;Ljava/net/URL;)V
astore 3
start local 3 46: StackMap locals: javax.print.PrintService
StackMap stack:
aload 0
aload 3
putfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
end local 3 47: goto 51
StackMap locals: sun.print.PrintServiceLookupProvider java.lang.SecurityManager java.lang.String
StackMap stack: java.lang.Exception
48: pop
49: goto 51
50: StackMap locals:
StackMap stack:
aload 0
new sun.print.UnixPrintService
dup
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrinter:Ljava/lang/String;
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
putfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
51: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.defaultPrintService:Ljavax/print/PrintService;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/print/PrintServiceLookupProvider;
1 52 1 security Ljava/lang/SecurityManager;
5 52 2 psuri Ljava/lang/String;
10 13 3 printerInfo [Ljava/lang/String;
26 32 3 j I
38 39 3 defaultPS Ljavax/print/PrintService;
46 47 3 defaultPS Ljavax/print/PrintService;
Exception table:
from to target type
34 47 48 Class java.lang.Exception
public synchronized void getServicesInbackground(sun.print.BackgroundLookupListener);
descriptor: (Lsun/print/BackgroundLookupListener;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
ifnull 3
1: aload 1
aload 0
getfield sun.print.PrintServiceLookupProvider.printServices:[Ljavax/print/PrintService;
invokeinterface sun.print.BackgroundLookupListener.notifyServices:([Ljavax/print/PrintService;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
ifnonnull 9
4: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
5: aload 0
getfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
6: new java.lang.Thread
dup
aload 0
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 2
start local 2 7: aload 2
invokevirtual java.lang.Thread.start:()V
end local 2 8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/print/PrintServiceLookupProvider;
0 11 1 listener Lsun/print/BackgroundLookupListener;
7 8 2 lookupThread Ljava/lang/Thread;
MethodParameters:
Name Flags
listener
private javax.print.PrintService[] copyOf(javax.print.PrintService[]);
descriptor: ([Ljavax/print/PrintService;)[Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
arraylength
anewarray javax.print.PrintService
astore 2
start local 2 3: aload 1
iconst_0
aload 2
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/PrintServiceLookupProvider;
0 5 1 inArr [Ljavax/print/PrintService;
3 5 2 outArr [Ljavax/print/PrintService;
MethodParameters:
Name Flags
inArr
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual sun.print.PrintServiceLookupProvider.getPrintServices:()[Ljavax/print/PrintService;
astore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: iconst_0
istore 4
start local 4 3: goto 7
4: StackMap locals: sun.print.PrintServiceLookupProvider javax.print.PrintService[] sun.print.PrintServiceLookupProvider top int
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
iload 4
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.print.BackgroundLookupListener
astore 3
start local 3 5: aload 3
aload 0
aload 1
invokevirtual sun.print.PrintServiceLookupProvider.copyOf:([Ljavax/print/PrintService;)[Ljavax/print/PrintService;
invokeinterface sun.print.BackgroundLookupListener.notifyServices:([Ljavax/print/PrintService;)V
6: iinc 4 1
end local 3 StackMap locals:
StackMap stack:
7: iload 4
aload 0
getfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 4
end local 4 8: aload 0
aconst_null
putfield sun.print.PrintServiceLookupProvider.lookupListeners:Ljava/util/Vector;
9: aload 2
monitorexit
10: goto 13
StackMap locals: sun.print.PrintServiceLookupProvider javax.print.PrintService[] sun.print.PrintServiceLookupProvider
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/print/PrintServiceLookupProvider;
1 14 1 services [Ljavax/print/PrintService;
5 7 3 listener Lsun/print/BackgroundLookupListener;
3 8 4 i I
Exception table:
from to target type
2 10 11 any
11 12 11 any
private java.lang.String getDefaultPrinterNameBSD();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
iconst_m1
if_icmpne 2
1: invokestatic sun.print.PrintServiceLookupProvider.getBSDCommandIndex:()I
putstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.lpcFirstCom:[Ljava/lang/String;
getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
aaload
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
arraylength
ifne 5
4: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
iconst_1
if_icmpne 8
6: aload 1
iconst_0
aaload
ldc "missingprinter"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/print/PrintServiceLookupProvider;
3 9 1 names [Ljava/lang/String;
private javax.print.PrintService getNamedPrinterNameBSD(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
iconst_m1
if_icmpne 2
1: invokestatic sun.print.PrintServiceLookupProvider.getBSDCommandIndex:()I
putstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "/usr/sbin/lpc status "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.print.PrintServiceLookupProvider.lpcNameCom:[Ljava/lang/String;
getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 3: aload 2
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnull 5
aload 3
iconst_0
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
new sun.print.UnixPrintService
dup
aload 1
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/print/PrintServiceLookupProvider;
0 7 1 name Ljava/lang/String;
3 7 2 command Ljava/lang/String;
4 7 3 result [Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.String[] getAllPrinterNamesBSD();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
iconst_m1
if_icmpne 2
1: invokestatic sun.print.PrintServiceLookupProvider.getBSDCommandIndex:()I
putstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.print.PrintServiceLookupProvider.lpcAllCom:[Ljava/lang/String;
getstatic sun.print.PrintServiceLookupProvider.cmdIndex:I
aaload
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnull 4
aload 1
arraylength
ifne 5
4: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/print/PrintServiceLookupProvider;
3 6 1 names [Ljava/lang/String;
static java.lang.String getDefaultPrinterNameSysV();
descriptor: ()Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=0
0: ldc "lp"
astore 0
start local 0 1: ldc "/usr/bin/lpstat -d"
astore 1
start local 1 2: aload 1
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
arraylength
ifne 5
4: StackMap locals: java.lang.String java.lang.String java.lang.String[]
StackMap stack:
aload 0
areturn
5: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 3
start local 3 6: iload 3
iconst_m1
if_icmpeq 7
aload 2
iconst_0
aaload
invokevirtual java.lang.String.length:()I
iload 3
iconst_1
iadd
if_icmpgt 8
7: StackMap locals: int
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4
start local 4 9: aload 4
invokevirtual java.lang.String.length:()I
ifne 11
10: aconst_null
areturn
11: StackMap locals: java.lang.String
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 12 0 defaultPrinter Ljava/lang/String;
2 12 1 command Ljava/lang/String;
3 12 2 names [Ljava/lang/String;
6 12 3 index I
9 12 4 name Ljava/lang/String;
private javax.print.PrintService getNamedPrinterNameSysV(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "/usr/bin/lpstat -v "
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;
astore 2
start local 2 1: aload 2
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 2: aload 3
ifnull 3
aload 3
iconst_0
aaload
ldc "unknown printer"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 4
3: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
new sun.print.UnixPrintService
dup
aload 1
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/PrintServiceLookupProvider;
0 5 1 name Ljava/lang/String;
1 5 2 command Ljava/lang/String;
2 5 3 result [Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.String[] getAllPrinterNamesSysV();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=1
start local 0 0: ldc "lp"
astore 1
start local 1 1: ldc "/usr/bin/lpstat -v|/usr/bin/expand|/usr/bin/cut -f3 -d' ' |/usr/bin/cut -f1 -d':' | /usr/bin/sort"
astore 2
start local 2 2: aload 2
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 11
6: StackMap locals: sun.print.PrintServiceLookupProvider java.lang.String java.lang.String java.lang.String[] java.util.ArrayList int
StackMap stack:
aload 3
iload 5
aaload
ldc "_default"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
7: aload 3
iload 5
aaload
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
8: aload 3
iload 5
aaload
invokevirtual java.lang.String.isEmpty:()Z
ifne 10
9: aload 4
aload 3
iload 5
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
aload 3
arraylength
if_icmplt 6
end local 5 12: aload 4
aload 4
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/print/PrintServiceLookupProvider;
1 13 1 defaultPrinter Ljava/lang/String;
2 13 2 command Ljava/lang/String;
3 13 3 names [Ljava/lang/String;
4 13 4 printerNames Ljava/util/ArrayList<Ljava/lang/String;>;
5 12 5 i I
private java.lang.String getDefaultPrinterNameAIX();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.print.PrintServiceLookupProvider.lpNameComAix:[Ljava/lang/String;
iconst_2
aaload
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic sun.print.UnixPrintService.filterPrinterNamesAIX:([Ljava/lang/String;)[Ljava/lang/String;
astore 1
2: aload 1
ifnull 3
aload 1
arraylength
iconst_1
if_icmpeq 4
3: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/PrintServiceLookupProvider;
1 5 1 names [Ljava/lang/String;
private javax.print.PrintService getNamedPrinterNameAIX(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/print/PrintService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
getfield sun.print.PrintServiceLookupProvider.lpNameComAix:[Ljava/lang/String;
iconst_3
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
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;
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic sun.print.UnixPrintService.filterPrinterNamesAIX:([Ljava/lang/String;)[Ljava/lang/String;
astore 2
2: aload 2
ifnull 3
aload 2
arraylength
iconst_1
if_icmpeq 4
3: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
new sun.print.UnixPrintService
dup
aload 1
invokespecial sun.print.UnixPrintService.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/print/PrintServiceLookupProvider;
0 5 1 name Ljava/lang/String;
1 5 2 result [Ljava/lang/String;
MethodParameters:
Name Flags
name
private java.lang.String[] getAllPrinterNamesAIX();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.print.PrintServiceLookupProvider.lpNameComAix:[Ljava/lang/String;
getstatic sun.print.PrintServiceLookupProvider.aix_defaultPrinterEnumeration:I
aaload
invokestatic sun.print.PrintServiceLookupProvider.execCmd:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic sun.print.UnixPrintService.filterPrinterNamesAIX:([Ljava/lang/String;)[Ljava/lang/String;
astore 1
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: java.lang.String[] java.util.ArrayList int
StackMap stack:
aload 2
aload 1
iload 3
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 1
arraylength
if_icmplt 5
end local 3 8: aload 2
aload 2
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/print/PrintServiceLookupProvider;
1 9 1 names [Ljava/lang/String;
3 9 2 printerNames Ljava/util/ArrayList<Ljava/lang/String;>;
4 8 3 i I
static java.lang.String[] execCmd(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_3
anewarray java.lang.String
astore 2
start local 2 2: invokestatic sun.print.PrintServiceLookupProvider.isAIX:()Z
ifeq 7
3: aload 2
iconst_0
ldc "/usr/bin/sh"
aastore
4: aload 2
iconst_1
ldc "-c"
aastore
5: aload 2
iconst_2
new java.lang.StringBuilder
dup
ldc "env LC_ALL=C "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
6: goto 10
7: StackMap locals: java.util.ArrayList java.lang.String[]
StackMap stack:
aload 2
iconst_0
ldc "/bin/sh"
aastore
8: aload 2
iconst_1
ldc "-c"
aastore
9: aload 2
iconst_2
new java.lang.StringBuilder
dup
ldc "LC_ALL=C "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
10: StackMap locals:
StackMap stack:
new sun.print.PrintServiceLookupProvider$1
dup
aload 2
invokespecial sun.print.PrintServiceLookupProvider$1.<init>:([Ljava/lang/String;)V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.util.ArrayList
astore 1
end local 2 12: goto 14
StackMap locals: java.lang.String java.util.ArrayList
StackMap stack: java.security.PrivilegedActionException
13: pop
14: StackMap locals:
StackMap stack:
aload 1
ifnonnull 16
15: iconst_0
anewarray java.lang.String
areturn
16: StackMap locals:
StackMap stack:
aload 1
aload 1
invokevirtual java.util.ArrayList.size:()I
anewarray java.lang.String
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 command Ljava/lang/String;
1 17 1 results Ljava/util/ArrayList<Ljava/lang/String;>;
2 12 2 cmd [Ljava/lang/String;
Exception table:
from to target type
1 12 13 Class java.security.PrivilegedActionException
MethodParameters:
Name Flags
command final
}
SourceFile: "PrintServiceLookupProvider.java"
NestMembers:
sun.print.PrintServiceLookupProvider$1 sun.print.PrintServiceLookupProvider$PrinterChangeListener
InnerClasses:
sun.print.PrintServiceLookupProvider$1
private PrinterChangeListener = sun.print.PrintServiceLookupProvider$PrinterChangeListener of sun.print.PrintServiceLookupProvider