public final class jdk.internal.org.jline.terminal.TerminalBuilder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.org.jline.terminal.TerminalBuilder
super_class: java.lang.Object
{
public static final java.lang.String PROP_ENCODING;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.encoding"
public static final java.lang.String PROP_CODEPAGE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.codepage"
public static final java.lang.String PROP_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.type"
public static final java.lang.String PROP_JNA;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.jna"
public static final java.lang.String PROP_JANSI;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.jansi"
public static final java.lang.String PROP_EXEC;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.exec"
public static final java.lang.String PROP_DUMB;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.dumb"
public static final java.lang.String PROP_DUMB_COLOR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.dumb.color"
public static final java.lang.String PROP_NON_BLOCKING_READS;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.terminal.pty.nonBlockingReads"
public static final java.lang.String PROP_COLOR_DISTANCE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.utils.colorDistance"
public static final java.lang.String PROP_DISABLE_ALTERNATE_CHARSET;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.jline.utils.disableAlternateCharset"
private static final java.util.concurrent.atomic.AtomicReference<jdk.internal.org.jline.terminal.Terminal> SYSTEM_TERMINAL;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljdk/internal/org/jline/terminal/Terminal;>;
private java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream in;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.io.OutputStream out;
descriptor: Ljava/io/OutputStream;
flags: (0x0002) ACC_PRIVATE
private java.lang.String type;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.nio.charset.Charset encoding;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0002) ACC_PRIVATE
private int codepage;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean system;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean jna;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean jansi;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean exec;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.lang.Boolean dumb;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private jdk.internal.org.jline.terminal.Attributes attributes;
descriptor: Ljdk/internal/org/jline/terminal/Attributes;
flags: (0x0002) ACC_PRIVATE
private jdk.internal.org.jline.terminal.Size size;
descriptor: Ljdk/internal/org/jline/terminal/Size;
flags: (0x0002) ACC_PRIVATE
private boolean nativeSignals;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler;
descriptor: Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
flags: (0x0002) ACC_PRIVATE
private boolean paused;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.function.Function<java.io.InputStream, java.io.InputStream> inputStreamWrapper;
descriptor: Ljava/util/function/Function;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putstatic jdk.internal.org.jline.terminal.TerminalBuilder.SYSTEM_TERMINAL:Ljava/util/concurrent/atomic/AtomicReference;
return
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.org.jline.terminal.Terminal terminal();
descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.builder:()Ljdk/internal/org/jline/terminal/TerminalBuilder;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.build:()Ljdk/internal/org/jline/terminal/Terminal;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public static jdk.internal.org.jline.terminal.TerminalBuilder builder();
descriptor: ()Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new jdk.internal.org.jline.terminal.TerminalBuilder
dup
invokespecial jdk.internal.org.jline.terminal.TerminalBuilder.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
2: aload 0
getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
3: aload 0
iconst_0
putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
4: aload 0
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/org/jline/terminal/TerminalBuilder.lambda$0(Ljava/io/InputStream;)Ljava/io/InputStream; (6)
(Ljava/io/InputStream;)Ljava/io/InputStream;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
public jdk.internal.org.jline.terminal.TerminalBuilder name(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public jdk.internal.org.jline.terminal.TerminalBuilder streams(java.io.InputStream, java.io.OutputStream);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
1: aload 0
aload 2
putfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
2: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 3 1 in Ljava/io/InputStream;
0 3 2 out Ljava/io/OutputStream;
MethodParameters:
Name Flags
in
out
public jdk.internal.org.jline.terminal.TerminalBuilder system(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 system Z
MethodParameters:
Name Flags
system
public jdk.internal.org.jline.terminal.TerminalBuilder jna(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 jna Z
MethodParameters:
Name Flags
jna
public jdk.internal.org.jline.terminal.TerminalBuilder jansi(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 jansi Z
MethodParameters:
Name Flags
jansi
public jdk.internal.org.jline.terminal.TerminalBuilder exec(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 exec Z
MethodParameters:
Name Flags
exec
public jdk.internal.org.jline.terminal.TerminalBuilder dumb(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 dumb Z
MethodParameters:
Name Flags
dumb
public jdk.internal.org.jline.terminal.TerminalBuilder type(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 type Ljava/lang/String;
MethodParameters:
Name Flags
type
public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnull 1
aload 1
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
goto 2
StackMap locals:
StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder
1: aconst_null
StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String
StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder java.nio.charset.Charset
2: invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.encoding:(Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 3 1 encoding Ljava/lang/String;
Exceptions:
throws java.nio.charset.UnsupportedCharsetException
MethodParameters:
Name Flags
encoding
public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 encoding Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
encoding
public jdk.internal.org.jline.terminal.TerminalBuilder codepage(int);
descriptor: (I)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 codepage I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
codepage
public jdk.internal.org.jline.terminal.TerminalBuilder attributes(jdk.internal.org.jline.terminal.Attributes);
descriptor: (Ljdk/internal/org/jline/terminal/Attributes;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 attributes Ljdk/internal/org/jline/terminal/Attributes;
MethodParameters:
Name Flags
attributes
public jdk.internal.org.jline.terminal.TerminalBuilder size(jdk.internal.org.jline.terminal.Size);
descriptor: (Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 size Ljdk/internal/org/jline/terminal/Size;
MethodParameters:
Name Flags
size
public jdk.internal.org.jline.terminal.TerminalBuilder nativeSignals(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 nativeSignals Z
MethodParameters:
Name Flags
nativeSignals
public jdk.internal.org.jline.terminal.TerminalBuilder signalHandler(jdk.internal.org.jline.terminal.Terminal$SignalHandler);
descriptor: (Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 signalHandler Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
MethodParameters:
Name Flags
signalHandler
public jdk.internal.org.jline.terminal.TerminalBuilder paused(boolean);
descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 paused Z
MethodParameters:
Name Flags
paused
public jdk.internal.org.jline.terminal.TerminalBuilder inputStreamWrapper(java.util.function.Function<java.io.InputStream, java.io.InputStream>);
descriptor: (Ljava/util/function/Function;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 2 1 wrapper Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;
Signature: (Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
MethodParameters:
Name Flags
wrapper
public jdk.internal.org.jline.terminal.Terminal build();
descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.doBuild:()Ljdk/internal/org/jline/terminal/Terminal;
astore 1
start local 1 1: aload 1
invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/org/jline/terminal/TerminalBuilder.lambda$1(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
2: aload 1
instanceof jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
ifeq 4
3: aload 1
invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/internal/org/jline/terminal/TerminalBuilder.lambda$2(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
()Ljava/lang/String;
invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
4: StackMap locals: jdk.internal.org.jline.terminal.Terminal
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
1 5 1 terminal Ljdk/internal/org/jline/terminal/Terminal;
Exceptions:
throws java.io.IOException
private jdk.internal.org.jline.terminal.Terminal doBuild();
descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=14, args_size=1
start local 0 0: aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: ldc "JLine terminal"
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
astore 2
start local 2 4: aload 2
ifnonnull 8
5: ldc "org.jline.terminal.encoding"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 6: aload 3
ifnull 8
aload 3
invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
ifeq 8
7: aload 3
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 2
end local 3 8: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
istore 3
start local 3 9: iload 3
ifgt 13
10: ldc "org.jline.terminal.codepage"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 11: aload 4
ifnull 13
12: aload 4
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
end local 4 13: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
astore 4
start local 4 14: aload 4
ifnonnull 16
15: ldc "org.jline.terminal.type"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 4
16: StackMap locals: java.lang.String
StackMap stack:
aload 4
ifnonnull 18
17: ldc "TERM"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
astore 4
18: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
astore 5
start local 5 19: aload 5
ifnonnull 21
20: ldc "org.jline.terminal.jna"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
astore 5
21: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
astore 6
start local 6 22: aload 6
ifnonnull 24
23: ldc "org.jline.terminal.jansi"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
astore 6
24: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
astore 7
start local 7 25: aload 7
ifnonnull 27
26: ldc "org.jline.terminal.exec"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
astore 7
27: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
astore 8
start local 8 28: aload 8
ifnonnull 30
29: ldc "org.jline.terminal.dumb"
aconst_null
invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
astore 8
30: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
ifnull 31
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 32
StackMap locals:
StackMap stack:
31: aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
ifnonnull 124
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
ifnonnull 124
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
ifnonnull 124
32: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
ifnonnull 33
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
ifnull 35
StackMap locals:
StackMap stack:
33: iconst_1
anewarray java.lang.Object
dup
iconst_0
34: ldc "Attributes and size fields are ignored when creating a system terminal"
aastore
invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
35: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Unable to create a system terminal"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
astore 9
start local 9 36: aconst_null
astore 10
start local 10 37: getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
ifeq 66
38: ldc "cygwin"
ldc "TERM"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 11
start local 11 39: getstatic jdk.internal.org.jline.utils.OSUtils.IS_CONEMU:Z
istore 12
start local 12 40: getstatic jdk.internal.org.jline.utils.OSUtils.IS_CYGWIN:Z
ifne 41
getstatic jdk.internal.org.jline.utils.OSUtils.IS_MSYSTEM:Z
ifeq 51
StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int int
StackMap stack:
41: aload 7
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 51
iload 11
ifne 51
42: invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
astore 13
start local 13 43: ldc "xterm"
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 45
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
ifnonnull 45
ldc "org.jline.terminal.type"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnonnull 45
44: ldc "xterm-256color"
astore 4
45: StackMap locals: jdk.internal.org.jline.terminal.spi.Pty
StackMap stack:
new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
dup
aload 1
aload 4
aload 13
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
aload 13
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
aload 13
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
astore 10
end local 13 46: goto 51
StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int int
StackMap stack: java.io.IOException
47: astore 13
start local 13 48: iconst_3
anewarray java.lang.Object
dup
iconst_0
49: ldc "Error creating EXEC based terminal: "
aastore
dup
iconst_1
aload 13
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 13
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
50: aload 9
aload 13
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 13 51: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 58
52: aload 0
ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
aload 1
aload 4
iload 12
aload 2
iload 3
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;ZLjava/util/function/Function;)Ljdk/internal/org/jline/terminal/Terminal;
astore 10
53: goto 58
StackMap locals:
StackMap stack: java.lang.Throwable
54: astore 13
start local 13 55: iconst_3
anewarray java.lang.Object
dup
iconst_0
56: ldc "Error creating JNA based terminal: "
aastore
dup
iconst_1
aload 13
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 13
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
57: aload 9
aload 13
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 13 58: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 90
59: aload 0
ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
aload 1
aload 4
iload 12
aload 2
iload 3
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)Ljdk/internal/org/jline/terminal/Terminal;
astore 10
60: goto 90
StackMap locals:
StackMap stack: java.lang.Throwable
61: astore 13
start local 13 62: iconst_3
anewarray java.lang.Object
dup
iconst_0
63: ldc "Error creating JANSI based terminal: "
aastore
dup
iconst_1
aload 13
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 13
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
64: aload 9
aload 13
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 13 end local 12 end local 11 65: goto 90
66: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 74
67: aload 0
ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
astore 11
start local 11 68: new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
dup
aload 1
aload 4
aload 11
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
aload 11
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
aload 11
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
astore 10
end local 11 69: goto 74
StackMap locals:
StackMap stack: java.lang.Throwable
70: astore 11
start local 11 71: iconst_3
anewarray java.lang.Object
dup
iconst_0
72: ldc "Error creating JNA based terminal: "
aastore
dup
iconst_1
aload 11
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 11
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
73: aload 9
aload 11
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 11 74: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 82
75: aload 0
ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
astore 11
start local 11 76: new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
dup
aload 1
aload 4
aload 11
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
aload 11
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
aload 11
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
astore 10
end local 11 77: goto 82
StackMap locals:
StackMap stack: java.lang.Throwable
78: astore 11
start local 11 79: iconst_3
anewarray java.lang.Object
dup
iconst_0
80: ldc "Error creating JANSI based terminal: "
aastore
dup
iconst_1
aload 11
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 11
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
81: aload 9
aload 11
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 11 82: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 90
83: invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
astore 11
start local 11 84: new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
dup
aload 1
aload 4
aload 11
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
aload 11
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.io.InputStream
aload 11
invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
astore 10
end local 11 85: goto 90
StackMap locals:
StackMap stack: java.lang.Throwable
86: astore 11
start local 11 87: iconst_3
anewarray java.lang.Object
dup
iconst_0
88: ldc "Error creating EXEC based terminal: "
aastore
dup
iconst_1
aload 11
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 11
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
89: aload 9
aload 11
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 11 90: StackMap locals:
StackMap stack:
aload 10
instanceof jdk.internal.org.jline.terminal.impl.AbstractTerminal
ifeq 98
91: aload 10
checkcast jdk.internal.org.jline.terminal.impl.AbstractTerminal
astore 11
start local 11 92: getstatic jdk.internal.org.jline.terminal.TerminalBuilder.SYSTEM_TERMINAL:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 11
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 95
93: aload 11
new jdk.internal.org.jline.terminal.TerminalBuilder$1
dup
aload 0
aload 11
invokespecial jdk.internal.org.jline.terminal.TerminalBuilder$1.<init>:(Ljdk/internal/org/jline/terminal/TerminalBuilder;Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;)V
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractTerminal.setOnClose:(Ljava/lang/Runnable;)V
94: goto 98
95: StackMap locals: jdk.internal.org.jline.terminal.impl.AbstractTerminal
StackMap stack:
aload 9
new java.lang.IllegalStateException
dup
ldc "A system terminal is already running. Make sure to use the created system Terminal on the LineReaderBuilder if you're using one or that previously created system Terminals have been correctly closed."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
96: aload 10
invokeinterface jdk.internal.org.jline.terminal.Terminal.close:()V
97: aconst_null
astore 10
end local 11 98: StackMap locals:
StackMap stack:
aload 10
ifnonnull 121
aload 8
ifnull 99
aload 8
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 121
99: StackMap locals:
StackMap stack:
ldc "org.jline.terminal.dumb.color"
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 11
start local 11 100: iload 11
ifne 104
101: ldc "INSIDE_EMACS"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
ifnull 102
iconst_1
goto 103
StackMap locals: int
StackMap stack:
102: iconst_0
StackMap locals:
StackMap stack: int
103: istore 11
104: StackMap locals:
StackMap stack:
iload 11
ifne 109
105: invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getParentProcessCommand:()Ljava/lang/String;
astore 12
start local 12 106: aload 12
ifnull 107
aload 12
ldc "idea"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 107
iconst_1
goto 108
StackMap locals: java.lang.String
StackMap stack:
107: iconst_0
StackMap locals:
StackMap stack: int
108: istore 11
end local 12 109: StackMap locals:
StackMap stack:
iload 11
ifne 115
aload 8
ifnonnull 115
110: invokestatic jdk.internal.org.jline.utils.Log.isDebugEnabled:()Z
ifeq 113
iconst_2
anewarray java.lang.Object
dup
iconst_0
111: ldc "Creating a dumb terminal"
aastore
dup
iconst_1
aload 9
aastore
invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
112: goto 115
StackMap locals:
StackMap stack:
113: iconst_1
anewarray java.lang.Object
dup
iconst_0
114: ldc "Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)"
aastore
invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
115: StackMap locals:
StackMap stack:
new jdk.internal.org.jline.terminal.impl.DumbTerminal
dup
aload 1
iload 11
ifeq 116
ldc "dumb-color"
goto 117
StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int
StackMap stack: new 115 new 115 java.lang.String
116: ldc "dumb"
117: StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException jdk.internal.org.jline.terminal.Terminal int
StackMap stack: new 115 new 115 java.lang.String java.lang.String
new java.io.FileInputStream
dup
getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
118: new java.io.FileOutputStream
dup
getstatic java.io.FileDescriptor.out:Ljava/io/FileDescriptor;
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
119: aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
120: invokespecial jdk.internal.org.jline.terminal.impl.DumbTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
astore 10
end local 11 121: StackMap locals:
StackMap stack:
aload 10
ifnonnull 123
122: aload 9
athrow
123: StackMap locals:
StackMap stack:
aload 10
areturn
end local 10 end local 9 124: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 131
125: aload 0
ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
astore 9
start local 9 126: new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
dup
aload 1
aload 4
aload 9
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
127: areturn
end local 9 128: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
start local 9 129: iconst_3
anewarray java.lang.Object
dup
iconst_0
130: ldc "Error creating JNA based terminal: "
aastore
dup
iconst_1
aload 9
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 9
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
end local 9 131: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 138
132: aload 0
ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
astore 9
start local 9 133: new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
dup
aload 1
aload 4
aload 9
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
134: areturn
end local 9 135: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
start local 9 136: iconst_3
anewarray java.lang.Object
dup
iconst_0
137: ldc "Error creating JANSI based terminal: "
aastore
dup
iconst_1
aload 9
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
dup
iconst_2
aload 9
aastore
invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
end local 9 138: StackMap locals:
StackMap stack:
new jdk.internal.org.jline.terminal.impl.ExternalTerminal
dup
aload 1
aload 4
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
aload 2
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
aload 0
getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
invokespecial jdk.internal.org.jline.terminal.impl.ExternalTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;ZLjdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)V
areturn
end local 8 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 139 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
1 139 1 name Ljava/lang/String;
4 139 2 encoding Ljava/nio/charset/Charset;
6 8 3 charsetName Ljava/lang/String;
9 139 3 codepage I
11 13 4 str Ljava/lang/String;
14 139 4 type Ljava/lang/String;
19 139 5 jna Ljava/lang/Boolean;
22 139 6 jansi Ljava/lang/Boolean;
25 139 7 exec Ljava/lang/Boolean;
28 139 8 dumb Ljava/lang/Boolean;
36 124 9 exception Ljava/lang/IllegalStateException;
37 124 10 terminal Ljdk/internal/org/jline/terminal/Terminal;
39 65 11 cygwinTerm Z
40 65 12 ansiPassThrough Z
43 46 13 pty Ljdk/internal/org/jline/terminal/spi/Pty;
48 51 13 e Ljava/io/IOException;
55 58 13 t Ljava/lang/Throwable;
62 65 13 t Ljava/lang/Throwable;
68 69 11 pty Ljdk/internal/org/jline/terminal/spi/Pty;
71 74 11 t Ljava/lang/Throwable;
76 77 11 pty Ljdk/internal/org/jline/terminal/spi/Pty;
79 82 11 t Ljava/lang/Throwable;
84 85 11 pty Ljdk/internal/org/jline/terminal/spi/Pty;
87 90 11 t Ljava/lang/Throwable;
92 98 11 t Ljdk/internal/org/jline/terminal/impl/AbstractTerminal;
100 121 11 color Z
106 109 12 command Ljava/lang/String;
126 128 9 pty Ljdk/internal/org/jline/terminal/spi/Pty;
129 131 9 t Ljava/lang/Throwable;
133 135 9 pty Ljdk/internal/org/jline/terminal/spi/Pty;
136 138 9 t Ljava/lang/Throwable;
Exception table:
from to target type
42 46 47 Class java.io.IOException
52 53 54 Class java.lang.Throwable
59 60 61 Class java.lang.Throwable
67 69 70 Class java.lang.Throwable
75 77 78 Class java.lang.Throwable
83 85 86 Class java.lang.Throwable
125 127 128 Class java.lang.Throwable
132 134 135 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
private static java.lang.String getParentProcessCommand();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=0
0: ldc "java.lang.ProcessHandle"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 0
start local 0 1: aload 0
ldc "current"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 2: aload 0
ldc "parent"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Optional
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 3: aload 0
ldc "info"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 4: aload 3
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 5: aload 3
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
ldc "command"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Optional
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 6: aload 5
checkcast java.lang.String
7: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 8: StackMap locals:
StackMap stack: java.lang.Throwable
pop
9: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
1 8 0 phClass Ljava/lang/Class<*>;
2 8 1 current Ljava/lang/Object;
3 8 2 parent Ljava/lang/Object;
4 8 3 infoMethod Ljava/lang/reflect/Method;
5 8 4 info Ljava/lang/Object;
6 8 5 command Ljava/lang/Object;
Exception table:
from to target type
0 7 8 Class java.lang.Throwable
private static java.lang.Boolean getBoolean(java.lang.String, java.lang.Boolean);
descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 5
2: aload 2
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
3: areturn
end local 2 4: StackMap locals:
StackMap stack: java.lang.RuntimeException
pop
5: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
0 6 1 def Ljava/lang/Boolean;
1 4 2 str Ljava/lang/String;
Exception table:
from to target type
0 3 4 Class java.lang.IllegalArgumentException
0 3 4 Class java.lang.NullPointerException
MethodParameters:
Name Flags
name
def
private <S> S load(java.lang.Class<S>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 1
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/org/jline/terminal/TerminalBuilder;
0 1 1 clazz Ljava/lang/Class<TS;>;
Signature: <S:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;)TS;
MethodParameters:
Name Flags
clazz
private static java.io.InputStream lambda$0(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Ljava/io/InputStream;
private static java.lang.String lambda$1(jdk.internal.org.jline.terminal.Terminal);
descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "Using terminal "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.String lambda$2(jdk.internal.org.jline.terminal.Terminal);
descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
0: new java.lang.StringBuilder
dup
ldc "Using pty "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
checkcast jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal.getPty:()Ljdk/internal/org/jline/terminal/spi/Pty;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "TerminalBuilder.java"
NestMembers:
jdk.internal.org.jline.terminal.TerminalBuilder$1
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract SignalHandler = jdk.internal.org.jline.terminal.Terminal$SignalHandler of jdk.internal.org.jline.terminal.Terminal
jdk.internal.org.jline.terminal.TerminalBuilder$1