public abstract class org.jruby.platform.Platform
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.platform.Platform
super_class: java.lang.Object
{
private static final java.lang.String DARWIN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "darwin"
private static final java.lang.String WINDOWS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "windows"
private static final java.lang.String LINUX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "linux"
private static final java.lang.String FREEBSD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "freebsd"
private static final java.lang.String DRAGONFLYBSD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "dragonflybsd"
private static final java.lang.String OPENBSD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "openbsd"
private static final java.lang.String SOLARIS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "solaris"
private static final java.lang.String OPENVMS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "openvms"
private static final java.lang.String GCJ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "GNU libgcj"
private static final java.lang.String IBM;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "IBM J9 VM"
private static final java.lang.String OPENJ9;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Eclipse OpenJ9 VM"
public static final java.util.Map<java.lang.String, java.lang.String> OS_NAMES;
descriptor: Ljava/util/Map;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.util.Map<java.lang.String, java.lang.String> ARCH_NAMES;
descriptor: Ljava/util/Map;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final java.lang.String ARCH;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String OS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String JVM;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String OS_VERSION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_WINDOWS;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_MAC;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_FREEBSD;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_DRAGONFLYBSD;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_OPENBSD;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_LINUX;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_WSL;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_SOLARIS;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_BSD;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_OPENVMS;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int BIG_ENDIAN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4321
public static final int LITTLE_ENDIAN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1234
public static final int BYTE_ORDER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_GCJ;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_J9;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean IS_IBM;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.jruby.platform.Platform INSTANCE;
descriptor: Lorg/jruby/platform/Platform;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "Mac OS X"
aastore
dup
iconst_1
ldc "darwin"
aastore
invokestatic org.jruby.runtime.Helpers.map:([Ljava/lang/String;)Ljava/util/Map;
putstatic org.jruby.platform.Platform.OS_NAMES:Ljava/util/Map;
1: iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "x86"
aastore
dup
iconst_1
ldc "i386"
aastore
invokestatic org.jruby.runtime.Helpers.map:([Ljava/lang/String;)Ljava/util/Map;
putstatic org.jruby.platform.Platform.ARCH_NAMES:Ljava/util/Map;
2: invokestatic org.jruby.platform.Platform.initArchitecture:()Ljava/lang/String;
putstatic org.jruby.platform.Platform.ARCH:Ljava/lang/String;
3: invokestatic org.jruby.platform.Platform.initOperatingSystem:()Ljava/lang/String;
putstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
4: ldc "java.vm.name"
ldc "unknown"
invokestatic org.jruby.platform.Platform.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putstatic org.jruby.platform.Platform.JVM:Ljava/lang/String;
5: ldc "os.version"
ldc "unknown"
invokestatic org.jruby.platform.Platform.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putstatic org.jruby.platform.Platform.OS_VERSION:Ljava/lang/String;
6: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "windows"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_WINDOWS:Z
7: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "darwin"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_MAC:Z
8: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "freebsd"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_FREEBSD:Z
9: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "dragonflybsd"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_DRAGONFLYBSD:Z
10: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "openbsd"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_OPENBSD:Z
11: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "linux"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_LINUX:Z
12: getstatic org.jruby.platform.Platform.IS_LINUX:Z
ifeq 13
getstatic org.jruby.platform.Platform.OS_VERSION:Ljava/lang/String;
ldc "Microsoft"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: putstatic org.jruby.platform.Platform.IS_WSL:Z
15: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "solaris"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_SOLARIS:Z
16: getstatic org.jruby.platform.Platform.IS_MAC:Z
ifne 17
getstatic org.jruby.platform.Platform.IS_FREEBSD:Z
ifne 17
getstatic org.jruby.platform.Platform.IS_OPENBSD:Z
ifne 17
getstatic org.jruby.platform.Platform.IS_DRAGONFLYBSD:Z
ifne 17
iconst_0
goto 18
StackMap locals:
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: putstatic org.jruby.platform.Platform.IS_BSD:Z
19: getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
ldc "openvms"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_OPENVMS:Z
20: ldc "%s-%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
getstatic org.jruby.platform.Platform.ARCH:Ljava/lang/String;
aastore
dup
iconst_1
getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
putstatic org.jruby.platform.Platform.NAME:Ljava/lang/String;
21: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 22
sipush 4321
goto 23
StackMap locals:
StackMap stack:
22: sipush 1234
StackMap locals:
StackMap stack: int
23: putstatic org.jruby.platform.Platform.BYTE_ORDER:I
24: getstatic org.jruby.platform.Platform.JVM:Ljava/lang/String;
ldc "GNU libgcj"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putstatic org.jruby.platform.Platform.IS_GCJ:Z
25: getstatic org.jruby.platform.Platform.JVM:Ljava/lang/String;
ldc "Eclipse OpenJ9 VM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
getstatic org.jruby.platform.Platform.JVM:Ljava/lang/String;
ldc "IBM J9 VM"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 26
iconst_0
goto 27
StackMap locals:
StackMap stack:
26: iconst_1
StackMap locals:
StackMap stack: int
27: putstatic org.jruby.platform.Platform.IS_J9:Z
28: getstatic org.jruby.platform.Platform.IS_J9:Z
putstatic org.jruby.platform.Platform.IS_IBM:Z
29: invokestatic org.jruby.platform.Platform.initPlatform:()Lorg/jruby/platform/Platform;
putstatic org.jruby.platform.Platform.INSTANCE:Lorg/jruby/platform/Platform;
return
LocalVariableTable:
Start End Slot Name Signature
public static org.jruby.platform.Platform getPlatform();
descriptor: ()Lorg/jruby/platform/Platform;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.jruby.platform.Platform.INSTANCE:Lorg/jruby/platform/Platform;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
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 Lorg/jruby/platform/Platform;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 args [Ljava/lang/String;
MethodParameters:
Name Flags
args
public java.lang.String getPackageName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "%s.%s.%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc Lorg/jruby/platform/Platform;
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
aastore
dup
iconst_1
getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
aastore
dup
iconst_2
getstatic org.jruby.platform.Platform.ARCH:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/platform/Platform;
public java.lang.String getOSPackageName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "%s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc Lorg/jruby/platform/Platform;
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
aastore
dup
iconst_1
getstatic org.jruby.platform.Platform.OS:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/platform/Platform;
private static java.lang.String initOperatingSystem();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: ldc "os.name"
ldc "unknown"
invokestatic org.jruby.platform.Platform.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 0
start local 0 1: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 1
-251433619: 2
default: 4
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
2: aload 1
ldc "mac os x"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
goto 4
3: StackMap locals:
StackMap stack:
ldc "darwin"
areturn
4: StackMap locals:
StackMap stack:
aload 0
ldc "windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
5: ldc "windows"
areturn
6: StackMap locals:
StackMap stack:
aload 0
ldc "sunos"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: ldc "solaris"
areturn
8: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 9 0 osname Ljava/lang/String;
private static java.lang.String initArchitecture();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=0
0: ldc "os.arch"
ldc "unknown"
invokestatic org.jruby.platform.Platform.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
astore 0
start local 0 1: aload 0
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 2
-409534901: 2
117110: 3
default: 13
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
2: aload 1
ldc "universal"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 13
StackMap locals:
StackMap stack:
3: aload 1
ldc "x86"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 13
4: StackMap locals:
StackMap stack:
ldc "i386"
areturn
5: StackMap locals:
StackMap stack:
ldc "sun.arch.data.model"
invokestatic org.jruby.util.SafePropertyAccessor.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 6: ldc "32"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
7: ldc "os.arch"
ldc "i386"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
8: ldc "i386"
astore 0
9: goto 13
StackMap locals: java.lang.String
StackMap stack:
10: ldc "64"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: ldc "os.arch"
ldc "x86_64"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
12: ldc "x86_64"
astore 0
end local 2 13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 14 0 arch Ljava/lang/String;
6 13 2 bits Ljava/lang/String;
private static org.jruby.platform.Platform initPlatform();
descriptor: ()Lorg/jruby/platform/Platform;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.jruby.platform.Platform.IS_WINDOWS:Z
ifeq 3
1: new org.jruby.platform.NTPlatform
dup
invokespecial org.jruby.platform.NTPlatform.<init>:()V
2: areturn
3: StackMap locals:
StackMap stack:
getstatic org.jruby.platform.Platform.IS_SOLARIS:Z
ifeq 6
4: new org.jruby.platform.SolarisPlatform
dup
invokespecial org.jruby.platform.SolarisPlatform.<init>:()V
5: areturn
6: StackMap locals:
StackMap stack:
new org.jruby.platform.UnixPlatform
dup
invokespecial org.jruby.platform.UnixPlatform.<init>:()V
7: areturn
8: StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
pop
9: new org.jruby.platform.UnsupportedPlatform
dup
invokespecial org.jruby.platform.UnsupportedPlatform.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
0 2 8 Class java.lang.UnsupportedOperationException
3 5 8 Class java.lang.UnsupportedOperationException
6 7 8 Class java.lang.UnsupportedOperationException
public static java.lang.String getProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 property Ljava/lang/String;
0 4 1 defValue Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
MethodParameters:
Name Flags
property
defValue
public abstract long[] getGroups(org.jruby.runtime.builtin.IRubyObject);
descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)[J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
recv
}
SourceFile: "Platform.java"