class sun.security.smartcardio.PlatformPCSC
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.smartcardio.PlatformPCSC
super_class: java.lang.Object
{
static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Throwable initException;
descriptor: Ljava/lang/Throwable;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final java.lang.String PROP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sun.security.smartcardio.library"
private static final java.lang.String LIB1;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/usr/$LIBISA/libpcsclite.so"
private static final java.lang.String LIB2;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/usr/local/$LIBISA/libpcsclite.so"
private static final java.lang.String PCSC_FRAMEWORK;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"
static final int SCARD_PROTOCOL_T0;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int SCARD_PROTOCOL_T1;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int SCARD_PROTOCOL_RAW;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int SCARD_UNKNOWN;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int SCARD_ABSENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int SCARD_PRESENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int SCARD_SWALLOWED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int SCARD_POWERED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int SCARD_NEGOTIABLE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
static final int SCARD_SPECIFIC;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 64
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "pcsc"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.smartcardio.PlatformPCSC.debug:Lsun/security/util/Debug;
1: new sun.security.smartcardio.PlatformPCSC$1
dup
invokespecial sun.security.smartcardio.PlatformPCSC$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Throwable
putstatic sun.security.smartcardio.PlatformPCSC.initException:Ljava/lang/Throwable;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/smartcardio/PlatformPCSC;
private static java.lang.String expand(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
ldc "$LIBISA"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: aload 0
areturn
3: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
start local 2 4: aload 0
iload 1
bipush 7
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
start local 3 5: ldc "64"
ldc "sun.arch.data.model"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: ldc "lib64"
astore 4
start local 4 7: goto 9
end local 4 8: StackMap locals: java.lang.String java.lang.String
StackMap stack:
ldc "lib"
astore 4
start local 4 9: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 10: aload 5
areturn
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 11 0 lib Ljava/lang/String;
1 11 1 k I
4 11 2 s1 Ljava/lang/String;
5 11 3 s2 Ljava/lang/String;
7 8 4 libDir Ljava/lang/String;
9 11 4 libDir Ljava/lang/String;
10 11 5 s Ljava/lang/String;
MethodParameters:
Name Flags
lib
private static java.lang.String getLibraryName();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc "sun.security.smartcardio.library"
ldc ""
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic sun.security.smartcardio.PlatformPCSC.expand:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
invokevirtual java.lang.String.length:()I
ifeq 3
2: aload 0
areturn
3: StackMap locals: java.lang.String
StackMap stack:
ldc "/usr/$LIBISA/libpcsclite.so"
invokestatic sun.security.smartcardio.PlatformPCSC.expand:(Ljava/lang/String;)Ljava/lang/String;
astore 0
4: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isFile:()Z
ifeq 6
5: aload 0
areturn
6: StackMap locals:
StackMap stack:
ldc "/usr/local/$LIBISA/libpcsclite.so"
invokestatic sun.security.smartcardio.PlatformPCSC.expand:(Ljava/lang/String;)Ljava/lang/String;
astore 0
7: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.isFile:()Z
ifeq 9
8: aload 0
areturn
9: StackMap locals:
StackMap stack:
ldc "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"
astore 0
10: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
invokevirtual java.io.File.isDirectory:()Z
ifeq 12
11: aload 0
areturn
12: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "No PC/SC library found on this system"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 13 0 lib Ljava/lang/String;
Exceptions:
throws java.io.IOException
private static native void initialize(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
libraryName
}
SourceFile: "PlatformPCSC.java"
NestMembers:
sun.security.smartcardio.PlatformPCSC$1
InnerClasses:
sun.security.smartcardio.PlatformPCSC$1