class com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy extends com.oracle.graal.pointsto.HeapScanningPolicy
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy
  super_class: com.oracle.graal.pointsto.HeapScanningPolicy
{
  final java.util.Map<com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData> skipTypes;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy$SkipData;>;

  void <init>(com.oracle.graal.pointsto.meta.AnalysisType[]);
    descriptor: ([Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisType[] types
         0: .line 98
            aload 0 /* this */
            invokespecial com.oracle.graal.pointsto.HeapScanningPolicy.<init>:()V
         1: .line 99
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
         2: .line 100
            aload 1 /* types */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy com.oracle.graal.pointsto.meta.AnalysisType[] top int int com.oracle.graal.pointsto.meta.AnalysisType[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* type */
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisType type
         4: .line 101
            aload 0 /* this */
            getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
            aload 2 /* type */
            new com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
            dup
            invokespecial com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisType type
         5: .line 100
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 103
            return
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisType[] types
        end local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy;
            0    8     1  types  [Lcom/oracle/graal/pointsto/meta/AnalysisType;
            4    5     2   type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
    MethodParameters:
       Name  Flags
      types  

  public boolean trackConstant(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
        start local 1 // com.oracle.graal.pointsto.BigBang bb
        start local 2 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 107
            aload 1 /* bb */
            invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
            aload 2 /* constant */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 3 /* type */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
         1: .line 108
            aload 0 /* this */
            getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
            aload 3 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
            astore 4 /* data */
        start local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
         2: .line 109
            aload 4 /* data */
            ifnull 7
         3: .line 110
            aload 4 /* data */
            getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForTracking:Z
            ifeq 5
         4: .line 111
            iconst_0
            ireturn
         5: .line 113
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
      StackMap stack:
            aload 4 /* data */
            iconst_1
            putfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForTracking:Z
         6: .line 114
            iconst_1
            ireturn
         7: .line 116
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
        end local 2 // jdk.vm.ci.meta.JavaConstant constant
        end local 1 // com.oracle.graal.pointsto.BigBang bb
        end local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy;
            0    8     1        bb  Lcom/oracle/graal/pointsto/BigBang;
            0    8     2  constant  Ljdk/vm/ci/meta/JavaConstant;
            1    8     3      type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            2    8     4      data  Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy$SkipData;
    MethodParameters:
          Name  Flags
      bb        
      constant  

  public boolean scanConstant(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant);
    descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
        start local 1 // com.oracle.graal.pointsto.BigBang bb
        start local 2 // jdk.vm.ci.meta.JavaConstant constant
         0: .line 121
            aload 1 /* bb */
            aload 2 /* constant */
            invokestatic com.oracle.graal.pointsto.ObjectScanner.constantType:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 3 /* type */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
         1: .line 122
            aload 0 /* this */
            getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
            aload 3 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
            astore 4 /* data */
        start local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
         2: .line 123
            aload 4 /* data */
            ifnull 7
         3: .line 124
            aload 4 /* data */
            getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForScanning:Z
            ifeq 5
         4: .line 125
            iconst_0
            ireturn
         5: .line 127
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
      StackMap stack:
            aload 4 /* data */
            iconst_1
            putfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForScanning:Z
         6: .line 128
            iconst_1
            ireturn
         7: .line 130
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
        end local 2 // jdk.vm.ci.meta.JavaConstant constant
        end local 1 // com.oracle.graal.pointsto.BigBang bb
        end local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy;
            0    8     1        bb  Lcom/oracle/graal/pointsto/BigBang;
            0    8     2  constant  Ljdk/vm/ci/meta/JavaConstant;
            1    8     3      type  Lcom/oracle/graal/pointsto/meta/AnalysisType;
            2    8     4      data  Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy$SkipData;
    MethodParameters:
          Name  Flags
      bb        
      constant  
}
SourceFile: "HeapScanningPolicy.java"
NestHost: com.oracle.graal.pointsto.HeapScanningPolicy
InnerClasses:
  SkipTypesPolicy = com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy of com.oracle.graal.pointsto.HeapScanningPolicy
  SkipData = com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData of com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy