public class com.sun.tools.javac.code.Preview
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.code.Preview
super_class: java.lang.Object
{
private final boolean enabled;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.util.MandatoryWarningHandler previewHandler;
descriptor: Lcom/sun/tools/javac/util/MandatoryWarningHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean forcePreview;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.Integer, com.sun.tools.javac.code.Source> majorVersionToSource;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/tools/javac/code/Source;>;
private final com.sun.tools.javac.code.Lint lint;
descriptor: Lcom/sun/tools/javac/code/Lint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.util.Log log;
descriptor: Lcom/sun/tools/javac/util/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.code.Preview> previewKey;
descriptor: Lcom/sun/tools/javac/util/Context$Key;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/javac/code/Preview;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.tools.javac.util.Context$Key
dup
invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
putstatic com.sun.tools.javac.code.Preview.previewKey:Lcom/sun/tools/javac/util/Context$Key;
return
LocalVariableTable:
Start End Slot Name Signature
public static com.sun.tools.javac.code.Preview instance(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Preview;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.sun.tools.javac.code.Preview.previewKey:Lcom/sun/tools/javac/util/Context$Key;
invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Preview
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javac.code.Preview
dup
aload 0
invokespecial com.sun.tools.javac.code.Preview.<init>:(Lcom/sun/tools/javac/util/Context;)V
astore 1
3: StackMap locals: com.sun.tools.javac.code.Preview
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lcom/sun/tools/javac/util/Context;
1 4 1 instance Lcom/sun/tools/javac/code/Preview;
MethodParameters:
Name Flags
context
void <init>(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)V
flags: (0x0000)
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
getstatic com.sun.tools.javac.code.Preview.previewKey:Lcom/sun/tools/javac/util/Context$Key;
aload 0
invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
2: aload 1
invokestatic com.sun.tools.javac.util.Options.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Options;
astore 2
start local 2 3: aload 0
aload 2
getstatic com.sun.tools.javac.main.Option.PREVIEW:Lcom/sun/tools/javac/main/Option;
invokevirtual com.sun.tools.javac.util.Options.isSet:(Lcom/sun/tools/javac/main/Option;)Z
putfield com.sun.tools.javac.code.Preview.enabled:Z
4: aload 0
aload 1
invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
putfield com.sun.tools.javac.code.Preview.log:Lcom/sun/tools/javac/util/Log;
5: aload 0
aload 1
invokestatic com.sun.tools.javac.code.Lint.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Lint;
putfield com.sun.tools.javac.code.Preview.lint:Lcom/sun/tools/javac/code/Lint;
6: aload 0
7: new com.sun.tools.javac.util.MandatoryWarningHandler
dup
aload 0
getfield com.sun.tools.javac.code.Preview.log:Lcom/sun/tools/javac/util/Log;
aload 0
getfield com.sun.tools.javac.code.Preview.lint:Lcom/sun/tools/javac/code/Lint;
getstatic com.sun.tools.javac.code.Lint$LintCategory.PREVIEW:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.code.Lint.isEnabled:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
iconst_1
ldc "preview"
getstatic com.sun.tools.javac.code.Lint$LintCategory.PREVIEW:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokespecial com.sun.tools.javac.util.MandatoryWarningHandler.<init>:(Lcom/sun/tools/javac/util/Log;ZZLjava/lang/String;Lcom/sun/tools/javac/code/Lint$LintCategory;)V
8: putfield com.sun.tools.javac.code.Preview.previewHandler:Lcom/sun/tools/javac/util/MandatoryWarningHandler;
9: aload 0
aload 2
ldc "forcePreview"
invokevirtual com.sun.tools.javac.util.Options.isSet:(Ljava/lang/String;)Z
putfield com.sun.tools.javac.code.Preview.forcePreview:Z
10: aload 0
aload 0
invokevirtual com.sun.tools.javac.code.Preview.initMajorVersionToSourceMap:()Ljava/util/Map;
putfield com.sun.tools.javac.code.Preview.majorVersionToSource:Ljava/util/Map;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/code/Preview;
0 12 1 context Lcom/sun/tools/javac/util/Context;
3 12 2 options Lcom/sun/tools/javac/util/Options;
MethodParameters:
Name Flags
context
private java.util.Map<java.lang.Integer, com.sun.tools.javac.code.Source> initMajorVersionToSourceMap();
descriptor: ()Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: invokestatic com.sun.tools.javac.jvm.Target.values:()[Lcom/sun/tools/javac/jvm/Target;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: com.sun.tools.javac.code.Preview java.util.Map top int int com.sun.tools.javac.jvm.Target[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 2
getfield com.sun.tools.javac.jvm.Target.majorVersion:I
istore 6
start local 6 4: aload 2
getfield com.sun.tools.javac.jvm.Target.name:Ljava/lang/String;
invokestatic com.sun.tools.javac.code.Source.lookup:(Ljava/lang/String;)Lcom/sun/tools/javac/code/Source;
astore 7
start local 7 5: aload 7
ifnull 7
6: aload 1
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 end local 2 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 2
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javac/code/Preview;
1 10 1 majorVersionToSource Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/tools/javac/code/Source;>;
3 7 2 t Lcom/sun/tools/javac/jvm/Target;
4 7 6 major I
5 7 7 source Lcom/sun/tools/javac/code/Source;
Signature: ()Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/tools/javac/code/Source;>;
public void warnPreview(int, com.sun.tools.javac.code.Source$Feature);
descriptor: (ILcom/sun/tools/javac/code/Source$Feature;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new com.sun.tools.javac.util.JCDiagnostic$SimpleDiagnosticPosition
dup
iload 1
invokespecial com.sun.tools.javac.util.JCDiagnostic$SimpleDiagnosticPosition.<init>:(I)V
aload 2
invokevirtual com.sun.tools.javac.code.Preview.warnPreview:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Source$Feature;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Preview;
0 2 1 pos I
0 2 2 feature Lcom/sun/tools/javac/code/Source$Feature;
MethodParameters:
Name Flags
pos
feature
public void warnPreview(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Source$Feature);
descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Source$Feature;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.tools.javac.code.Preview.isEnabled:()Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
1: aload 0
aload 2
invokevirtual com.sun.tools.javac.code.Preview.isPreview:(Lcom/sun/tools/javac/code/Source$Feature;)Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
2: aload 0
getfield com.sun.tools.javac.code.Preview.lint:Lcom/sun/tools/javac/code/Lint;
getstatic com.sun.tools.javac.code.Lint$LintCategory.PREVIEW:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.code.Lint.isSuppressed:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
ifne 7
3: aload 0
getfield com.sun.tools.javac.code.Preview.previewHandler:Lcom/sun/tools/javac/util/MandatoryWarningHandler;
aload 1
aload 2
invokevirtual com.sun.tools.javac.code.Source$Feature.isPlural:()Z
ifeq 5
4: aload 2
invokevirtual com.sun.tools.javac.code.Source$Feature.nameFragment:()Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.PreviewFeatureUsePlural:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
goto 6
5: StackMap locals: com.sun.tools.javac.code.Preview com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Source$Feature
StackMap stack: com.sun.tools.javac.util.MandatoryWarningHandler com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition
aload 2
invokevirtual com.sun.tools.javac.code.Source$Feature.nameFragment:()Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.PreviewFeatureUse:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
6: StackMap locals: com.sun.tools.javac.code.Preview com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.code.Source$Feature
StackMap stack: com.sun.tools.javac.util.MandatoryWarningHandler com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition com.sun.tools.javac.util.JCDiagnostic$Warning
invokevirtual com.sun.tools.javac.util.MandatoryWarningHandler.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/code/Preview;
0 8 1 pos Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
0 8 2 feature Lcom/sun/tools/javac/code/Source$Feature;
MethodParameters:
Name Flags
pos
feature
public void warnPreview(javax.tools.JavaFileObject, int);
descriptor: (Ljavax/tools/JavaFileObject;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.tools.javac.code.Preview.isEnabled:()Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
1: aload 0
getfield com.sun.tools.javac.code.Preview.lint:Lcom/sun/tools/javac/code/Lint;
getstatic com.sun.tools.javac.code.Lint$LintCategory.PREVIEW:Lcom/sun/tools/javac/code/Lint$LintCategory;
invokevirtual com.sun.tools.javac.code.Lint.isSuppressed:(Lcom/sun/tools/javac/code/Lint$LintCategory;)Z
ifne 5
2: aload 0
getfield com.sun.tools.javac.code.Preview.previewHandler:Lcom/sun/tools/javac/util/MandatoryWarningHandler;
aconst_null
3: aload 1
aload 0
getfield com.sun.tools.javac.code.Preview.majorVersionToSource:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Source
getfield com.sun.tools.javac.code.Source.name:Ljava/lang/String;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Warnings.PreviewFeatureUseClassfile:(Ljavax/tools/JavaFileObject;Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Warning;
4: invokevirtual com.sun.tools.javac.util.MandatoryWarningHandler.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic$Warning;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Preview;
0 6 1 classfile Ljavax/tools/JavaFileObject;
0 6 2 majorVersion I
MethodParameters:
Name Flags
classfile
majorVersion
public boolean isEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Preview.enabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/code/Preview;
public boolean isPreview(com.sun.tools.javac.code.Source$Feature);
descriptor: (Lcom/sun/tools/javac/code/Source$Feature;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.sun.tools.javac.code.Source$Feature.SWITCH_EXPRESSION:Lcom/sun/tools/javac/code/Source$Feature;
if_acmpeq 4
1: aload 1
getstatic com.sun.tools.javac.code.Source$Feature.SWITCH_MULTIPLE_CASE_LABELS:Lcom/sun/tools/javac/code/Source$Feature;
if_acmpeq 4
2: aload 1
getstatic com.sun.tools.javac.code.Source$Feature.SWITCH_RULE:Lcom/sun/tools/javac/code/Source$Feature;
if_acmpeq 4
3: aload 1
getstatic com.sun.tools.javac.code.Source$Feature.TEXT_BLOCKS:Lcom/sun/tools/javac/code/Source$Feature;
if_acmpne 5
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.code.Preview.forcePreview:Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/tools/javac/code/Preview;
0 6 1 feature Lcom/sun/tools/javac/code/Source$Feature;
MethodParameters:
Name Flags
feature
public com.sun.tools.javac.util.JCDiagnostic$Error disabledError(com.sun.tools.javac.code.Source$Feature);
descriptor: (Lcom/sun/tools/javac/code/Source$Feature;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.tools.javac.code.Preview.isEnabled:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
3: aload 1
invokevirtual com.sun.tools.javac.code.Source$Feature.isPlural:()Z
ifeq 5
4: aload 1
invokevirtual com.sun.tools.javac.code.Source$Feature.nameFragment:()Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PreviewFeatureDisabledPlural:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
goto 6
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.tools.javac.code.Source$Feature.nameFragment:()Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PreviewFeatureDisabled:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
6: StackMap locals:
StackMap stack: com.sun.tools.javac.util.JCDiagnostic$Error
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/code/Preview;
0 7 1 feature Lcom/sun/tools/javac/code/Source$Feature;
MethodParameters:
Name Flags
feature
public com.sun.tools.javac.util.JCDiagnostic$Error disabledError(javax.tools.JavaFileObject, int);
descriptor: (Ljavax/tools/JavaFileObject;I)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.tools.javac.code.Preview.isEnabled:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
3: aload 1
aload 0
getfield com.sun.tools.javac.code.Preview.majorVersionToSource:Ljava/util/Map;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Source
getfield com.sun.tools.javac.code.Source.name:Ljava/lang/String;
invokestatic com.sun.tools.javac.resources.CompilerProperties$Errors.PreviewFeatureDisabledClassfile:(Ljavax/tools/JavaFileObject;Ljava/lang/String;)Lcom/sun/tools/javac/util/JCDiagnostic$Error;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/code/Preview;
0 4 1 classfile Ljavax/tools/JavaFileObject;
0 4 2 majorVersion I
MethodParameters:
Name Flags
classfile
majorVersion
public void reportDeferredDiagnostics();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.code.Preview.previewHandler:Lcom/sun/tools/javac/util/MandatoryWarningHandler;
invokevirtual com.sun.tools.javac.util.MandatoryWarningHandler.reportDeferredDiagnostic:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/code/Preview;
}
SourceFile: "Preview.java"
InnerClasses:
public final LintCategory = com.sun.tools.javac.code.Lint$LintCategory of com.sun.tools.javac.code.Lint
public final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
public Errors = com.sun.tools.javac.resources.CompilerProperties$Errors of com.sun.tools.javac.resources.CompilerProperties
public Warnings = com.sun.tools.javac.resources.CompilerProperties$Warnings of com.sun.tools.javac.resources.CompilerProperties
public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public final Error = com.sun.tools.javac.util.JCDiagnostic$Error of com.sun.tools.javac.util.JCDiagnostic
public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic
public SimpleDiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$SimpleDiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
public final Warning = com.sun.tools.javac.util.JCDiagnostic$Warning of com.sun.tools.javac.util.JCDiagnostic