public class org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider implements org.graalvm.compiler.core.common.spi.ConstantFieldProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.core.common.spi.ConstantFieldProvider graalConstantFieldProvider;
    descriptor: Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.MetaAccessProvider metaAccess;
    descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.ConcurrentHashMap<jdk.vm.ci.meta.ResolvedJavaField, org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo> cachedConstantFieldInfo;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 38
            ldc Lorg/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.core.common.spi.ConstantFieldProvider, jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Ljdk/vm/ci/meta/MetaAccessProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
        start local 1 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider graalConstantFieldProvider
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* graalConstantFieldProvider */
            putfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.graalConstantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
         2: .line 45
            aload 0 /* this */
            aload 2 /* metaAccess */
            putfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
         3: .line 46
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.cachedConstantFieldInfo:Ljava/util/concurrent/ConcurrentHashMap;
         4: .line 47
            return
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 1 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider graalConstantFieldProvider
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    5     0                        this  Lorg/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider;
            0    5     1  graalConstantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    5     2                  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
    MethodParameters:
                            Name  Flags
      graalConstantFieldProvider  
      metaAccess                  

  public <T> T readConstantField(jdk.vm.ci.meta.ResolvedJavaField, org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool<T>);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        start local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool tool
         0: .line 51
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
            istore 3 /* isStaticField */
        start local 3 // boolean isStaticField
         1: .line 52
            iload 3 /* isStaticField */
            ifne 3
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.getReceiver:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifeq 3
         2: .line 54
            aconst_null
            areturn
         3: .line 57
      StackMap locals: int
      StackMap stack:
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.isArray:()Z
            istore 4 /* isArrayField */
        start local 4 // boolean isArrayField
         4: .line 58
            iload 4 /* isArrayField */
            ifne 8
         5: .line 62
            aload 0 /* this */
            aload 1 /* field */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.readConstantFieldFast:(Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool;)Ljava/lang/Object;
            astore 5 /* ret */
        start local 5 // java.lang.Object ret
         6: .line 63
            aload 5 /* ret */
            ifnull 8
         7: .line 64
            aload 5 /* ret */
            areturn
        end local 5 // java.lang.Object ret
         8: .line 68
      StackMap locals: int
      StackMap stack:
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 5 /* hasObjectKind */
        start local 5 // boolean hasObjectKind
        11: .line 69
            aload 0 /* this */
            aload 1 /* field */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.getConstantFieldInfo:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
            astore 6 /* info */
        start local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo info
        12: .line 70
            aload 6 /* info */
            ifnull 26
        13: .line 71
            aload 6 /* info */
            invokevirtual org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo.isChildren:()Z
            ifeq 18
        14: .line 72
            iload 4 /* isArrayField */
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: int org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 7 /* stableDimensions */
        start local 7 // int stableDimensions
        17: .line 73
            aload 2 /* tool */
            aload 0 /* this */
            aload 1 /* field */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.readValue:()Ljdk/vm/ci/meta/JavaConstant;
            aload 6 /* info */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.verifyFieldValue:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;)Ljdk/vm/ci/meta/JavaConstant;
            iload 7 /* stableDimensions */
            iconst_1
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.foldStableArray:(Ljdk/vm/ci/meta/JavaConstant;IZ)Ljava/lang/Object;
            areturn
        end local 7 // int stableDimensions
        18: .line 74
      StackMap locals:
      StackMap stack:
            iload 3 /* isStaticField */
            ifne 21
            iload 5 /* hasObjectKind */
            ifeq 21
        19: .line 75
            aload 6 /* info */
            invokevirtual org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo.isChild:()Z
            ifeq 21
        20: .line 76
            aload 2 /* tool */
            aload 0 /* this */
            aload 1 /* field */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.readValue:()Ljdk/vm/ci/meta/JavaConstant;
            aload 6 /* info */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.verifyFieldValue:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;)Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.foldConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            areturn
        21: .line 79
      StackMap locals:
      StackMap stack:
            iload 4 /* isArrayField */
            ifeq 25
        22: .line 80
            aload 6 /* info */
            invokevirtual org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo.getDimensions:()I
            istore 7 /* dimensions */
        start local 7 // int dimensions
        23: .line 81
            getstatic org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.$assertionsDisabled:Z
            ifne 24
            iload 7 /* dimensions */
            ifge 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 82
      StackMap locals: int
      StackMap stack:
            aload 2 /* tool */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.readValue:()Ljdk/vm/ci/meta/JavaConstant;
            iload 7 /* dimensions */
            iconst_1
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.foldStableArray:(Ljdk/vm/ci/meta/JavaConstant;IZ)Ljava/lang/Object;
            areturn
        end local 7 // int dimensions
        25: .line 84
      StackMap locals:
      StackMap stack:
            aload 2 /* tool */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.readValue:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.foldConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            areturn
        26: .line 88
      StackMap locals:
      StackMap stack:
            iload 4 /* isArrayField */
            ifeq 28
        27: .line 89
            aload 0 /* this */
            aload 1 /* field */
            aload 2 /* tool */
            invokevirtual org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.readConstantFieldFast:(Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool;)Ljava/lang/Object;
            areturn
        28: .line 91
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo info
        end local 5 // boolean hasObjectKind
        end local 4 // boolean isArrayField
        end local 3 // boolean isStaticField
        end local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool tool
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   29     0              this  Lorg/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider;
            0   29     1             field  Ljdk/vm/ci/meta/ResolvedJavaField;
            0   29     2              tool  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool<TT;>;
            1   29     3     isStaticField  Z
            4   29     4      isArrayField  Z
            6    8     5               ret  TT;
           11   29     5     hasObjectKind  Z
           12   29     6              info  Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
           17   18     7  stableDimensions  I
           23   25     7        dimensions  I
    Signature: <T:Ljava/lang/Object;>(Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool<TT;>;)TT;
    MethodParameters:
       Name  Flags
      field  
      tool   

  private org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo getConstantFieldInfo(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
         0: .line 95
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.cachedConstantFieldInfo:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* field */
            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;
                  org/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider.lambda$0(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo; (6)
                  (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
            invokevirtual java.util.concurrent.ConcurrentHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider;
            0    1     1  field  Ljdk/vm/ci/meta/ResolvedJavaField;
    MethodParameters:
       Name  Flags
      field  

  private <T> T readConstantFieldFast(jdk.vm.ci.meta.ResolvedJavaField, org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool<T>);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        start local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool tool
         0: .line 99
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.graalConstantFieldProvider:Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            aload 1 /* field */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider.readConstantField:(Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool;)Ljava/lang/Object;
            astore 3 /* ret */
        start local 3 // java.lang.Object ret
         1: .line 100
            aload 3 /* ret */
            ifnonnull 3
            aload 1 /* field */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isFinal:()Z
            ifeq 3
         2: .line 101
            aload 2 /* tool */
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.readValue:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool.foldConstant:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
            astore 3 /* ret */
         3: .line 103
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* ret */
            areturn
        end local 3 // java.lang.Object ret
        end local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool tool
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider;
            0    4     1  field  Ljdk/vm/ci/meta/ResolvedJavaField;
            0    4     2   tool  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool<TT;>;
            1    4     3    ret  TT;
    Signature: <T:Ljava/lang/Object;>(Ljdk/vm/ci/meta/ResolvedJavaField;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider$ConstantFieldTool<TT;>;)TT;
    MethodParameters:
       Name  Flags
      field  
      tool   

  private jdk.vm.ci.meta.JavaConstant verifyFieldValue(jdk.vm.ci.meta.ResolvedJavaField, jdk.vm.ci.meta.JavaConstant, org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;)Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        start local 2 // jdk.vm.ci.meta.JavaConstant constant
        start local 3 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo info
         0: .line 107
            getstatic org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.$assertionsDisabled:Z
            ifne 4
            aload 3 /* info */
            invokevirtual org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo.isChild:()Z
            ifeq 4
            aload 2 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifne 4
         1: .line 108
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc "com.oracle.truffle.api.nodes.Node"
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.resolveType:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 2 /* constant */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 4
            new java.lang.AssertionError
            dup
         2: .line 109
            ldc "@Child field value must be a Node: %s, but was: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* field */
            aastore
            dup
            iconst_1
            aload 2 /* constant */
            aastore
         3: .line 108
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 110
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.$assertionsDisabled:Z
            ifne 6
            aload 3 /* info */
            invokevirtual org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo.isChildren:()Z
            ifeq 6
            aload 2 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
            ifne 6
         5: .line 111
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 2 /* constant */
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            ldc "@Children field value must be an array: %s, but was: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* field */
            aastore
            dup
            iconst_1
            aload 2 /* constant */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* constant */
            areturn
        end local 3 // org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo info
        end local 2 // jdk.vm.ci.meta.JavaConstant constant
        end local 1 // jdk.vm.ci.meta.ResolvedJavaField field
        end local 0 // org.graalvm.compiler.truffle.compiler.TruffleConstantFieldProvider this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/truffle/compiler/TruffleConstantFieldProvider;
            0    7     1     field  Ljdk/vm/ci/meta/ResolvedJavaField;
            0    7     2  constant  Ljdk/vm/ci/meta/JavaConstant;
            0    7     3      info  Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
    MethodParameters:
          Name  Flags
      field     
      constant  
      info      

  private static org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo lambda$0(jdk.vm.ci.meta.ResolvedJavaField);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaField f
         0: .line 95
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            aload 0 /* f */
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getConstantFieldInfo:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime$ConstantFieldInfo;
            areturn
        end local 0 // jdk.vm.ci.meta.ResolvedJavaField f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     f  Ljdk/vm/ci/meta/ResolvedJavaField;
}
SourceFile: "TruffleConstantFieldProvider.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract ConstantFieldTool = org.graalvm.compiler.core.common.spi.ConstantFieldProvider$ConstantFieldTool of org.graalvm.compiler.core.common.spi.ConstantFieldProvider
  public ConstantFieldInfo = org.graalvm.compiler.truffle.common.TruffleCompilerRuntime$ConstantFieldInfo of org.graalvm.compiler.truffle.common.TruffleCompilerRuntime