public final class com.oracle.truffle.api.test.interop.InteropDateTimeTest extends com.oracle.truffle.api.test.interop.InteropLibraryBaseTest
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.api.test.interop.InteropDateTimeTest
  super_class: com.oracle.truffle.api.test.interop.InteropLibraryBaseTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
         0: .line 63
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.interop.InteropLibraryBaseTest.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;

  public void testDefaults();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
         0: .line 71
            new com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults
            dup
            invokespecial com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults.<init>:()V
            astore 1 /* o */
        start local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults o
         1: .line 72
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary library
         2: .line 73
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         3: .line 74
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         4: .line 75
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         5: .line 76
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDuration:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         6: .line 78
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$0(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         7: .line 79
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$1(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         8: .line 80
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$2(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         9: .line 81
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$3(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        10: .line 82
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$4(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        11: .line 83
            return
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary library
        end local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults o
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            1   12     1        o  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;
            2   12     2  library  Lcom/oracle/truffle/api/interop/InteropLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCombinations();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
         0: .line 150
            iconst_1
            istore 1 /* hasDate */
        start local 1 // boolean hasDate
         1: .line 152
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 2 /* hasTime */
        start local 2 // boolean hasTime
         2: .line 154
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 3 /* hasTimeZone */
        start local 3 // boolean hasTimeZone
         3: .line 156
      StackMap locals: int
      StackMap stack:
            iload 3 /* hasTimeZone */
            istore 4 /* hasFixedOffset */
        start local 4 // boolean hasFixedOffset
         4: .line 158
      StackMap locals: int
      StackMap stack:
            new com.oracle.truffle.api.test.interop.InteropDateTimeTest$CombinationTest
            dup
            iload 1 /* hasDate */
            iload 2 /* hasTime */
            iload 3 /* hasTimeZone */
            iload 4 /* hasFixedOffset */
            invokespecial com.oracle.truffle.api.test.interop.InteropDateTimeTest$CombinationTest.<init>:(ZZZZ)V
            astore 5 /* o */
        start local 5 // java.lang.Object o
         5: .line 159
            iload 1 /* hasDate */
            ifeq 6
            iload 2 /* hasTime */
            ifne 6
            iload 3 /* hasTimeZone */
            ifne 7
      StackMap locals: java.lang.Object
      StackMap stack:
         6: iload 1 /* hasDate */
            ifne 9
            iload 2 /* hasTime */
            ifeq 9
            iload 3 /* hasTimeZone */
            ifeq 9
            iload 4 /* hasFixedOffset */
            ifne 9
         7: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.testInvalidCombination:(Ljava/lang/Object;)V
         8: .line 161
            goto 10
         9: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* o */
            iload 1 /* hasDate */
            iload 2 /* hasTime */
            iload 3 /* hasTimeZone */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.testValidCombination:(Ljava/lang/Object;ZZZ)V
        10: .line 164
      StackMap locals:
      StackMap stack:
            iload 4 /* hasFixedOffset */
            ifeq 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 4 /* hasFixedOffset */
        end local 5 // java.lang.Object o
        13: .line 165
            iload 4 /* hasFixedOffset */
            ifeq 4
        14: .line 166
            iload 3 /* hasTimeZone */
            ifeq 15
            iconst_0
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_1
      StackMap locals:
      StackMap stack: int
        16: istore 3 /* hasTimeZone */
        end local 4 // boolean hasFixedOffset
        17: .line 167
            iload 3 /* hasTimeZone */
            ifeq 3
        18: .line 168
            iload 2 /* hasTime */
            ifeq 19
            iconst_0
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_1
      StackMap locals:
      StackMap stack: int
        20: istore 2 /* hasTime */
        end local 3 // boolean hasTimeZone
        21: .line 169
            iload 2 /* hasTime */
            ifeq 2
        22: .line 170
            iload 1 /* hasDate */
            ifeq 23
            iconst_0
            goto 24
      StackMap locals:
      StackMap stack:
        23: iconst_1
      StackMap locals:
      StackMap stack: int
        24: istore 1 /* hasDate */
        end local 2 // boolean hasTime
        25: .line 171
            iload 1 /* hasDate */
            ifeq 1
        26: .line 172
            return
        end local 1 // boolean hasDate
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            1   27     1         hasDate  Z
            2   25     2         hasTime  Z
            3   21     3     hasTimeZone  Z
            4   17     4  hasFixedOffset  Z
            5   13     5               o  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void testInvalidCombination(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
        start local 1 // java.lang.Object o
         0: .line 175
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary library
         1: .line 176
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$5(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         2: .line 177
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$6(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         3: .line 178
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$7(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         4: .line 179
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$8(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         5: .line 180
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$9(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         6: .line 181
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$10(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         7: .line 182
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$11(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         8: .line 183
            return
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary library
        end local 1 // java.lang.Object o
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            0    9     1        o  Ljava/lang/Object;
            1    9     2  library  Lcom/oracle/truffle/api/interop/InteropLibrary;
    MethodParameters:
      Name  Flags
      o     

  private void testValidCombination(java.lang.Object, boolean, boolean, boolean);
    descriptor: (Ljava/lang/Object;ZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
        start local 1 // java.lang.Object o
        start local 2 // boolean hasDate
        start local 3 // boolean hasTime
        start local 4 // boolean hasTimeZone
         0: .line 186
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 5 /* library */
        start local 5 // com.oracle.truffle.api.interop.InteropLibrary library
         1: .line 187
            iload 2 /* hasDate */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 5 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 188
            iload 3 /* hasTime */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 5 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 189
            iload 4 /* hasTimeZone */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 5 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 190
            iload 2 /* hasDate */
            ifeq 7
         5: .line 191
            aload 5 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            pop
         6: .line 192
            goto 8
         7: .line 193
      StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
      StackMap stack:
            aload 5 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$12(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
         8: .line 195
      StackMap locals:
      StackMap stack:
            iload 3 /* hasTime */
            ifeq 11
         9: .line 196
            aload 5 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            pop
        10: .line 197
            goto 12
        11: .line 198
      StackMap locals:
      StackMap stack:
            aload 5 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$13(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        12: .line 200
      StackMap locals:
      StackMap stack:
            iload 4 /* hasTimeZone */
            ifeq 15
        13: .line 201
            aload 5 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            pop
        14: .line 202
            goto 16
        15: .line 203
      StackMap locals:
      StackMap stack:
            aload 5 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$14(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        16: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 5 // com.oracle.truffle.api.interop.InteropLibrary library
        end local 4 // boolean hasTimeZone
        end local 3 // boolean hasTime
        end local 2 // boolean hasDate
        end local 1 // java.lang.Object o
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            0   17     1            o  Ljava/lang/Object;
            0   17     2      hasDate  Z
            0   17     3      hasTime  Z
            0   17     4  hasTimeZone  Z
            1   17     5      library  Lcom/oracle/truffle/api/interop/InteropLibrary;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    MethodParameters:
             Name  Flags
      o            
      hasDate      
      hasTime      
      hasTimeZone  

  public void testInstantDefault();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
         0: .line 249
            new com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault
            dup
            invokespecial com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.<init>:()V
            astore 1 /* o */
        start local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault o
         1: .line 250
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary library
         2: .line 252
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 253
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 254
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 255
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 256
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.toLocalDate:()Ljava/time/LocalDate;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 257
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 258
            ldc "UTC"
            invokestatic java.time.ZoneId.of:(Ljava/lang/String;)Ljava/time/ZoneId;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 259
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            ldc "UTC"
            invokestatic java.time.ZoneId.of:(Ljava/lang/String;)Ljava/time/ZoneId;
            invokevirtual java.time.LocalDateTime.atZone:(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
            invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 260
            return
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary library
        end local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault o
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            1   11     1        o  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;
            2   11     2  library  Lcom/oracle/truffle/api/interop/InteropLibrary;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidInstant();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
         0: .line 277
            new com.oracle.truffle.api.test.interop.InteropDateTimeTest$InvalidInstant
            dup
            invokespecial com.oracle.truffle.api.test.interop.InteropDateTimeTest$InvalidInstant.<init>:()V
            astore 1 /* o */
        start local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault o
         1: .line 278
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary library
         2: .line 280
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 281
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 282
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 283
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 284
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.toLocalDate:()Ljava/time/LocalDate;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 285
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 286
            ldc "UTC"
            invokestatic java.time.ZoneId.of:(Ljava/lang/String;)Ljava/time/ZoneId;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 287
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$15(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        10: .line 288
            return
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary library
        end local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault o
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            1   11     1        o  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;
            2   11     2  library  Lcom/oracle/truffle/api/interop/InteropLibrary;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInvalidDuration();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
         0: .line 292
            new com.oracle.truffle.api.test.interop.InteropDateTimeTest$InvalidInstant
            dup
            invokespecial com.oracle.truffle.api.test.interop.InteropDateTimeTest$InvalidInstant.<init>:()V
            astore 1 /* o */
        start local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault o
         1: .line 293
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.test.interop.InteropDateTimeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.interop.InteropLibrary
            astore 2 /* library */
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary library
         2: .line 295
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 296
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 297
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 298
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         6: .line 299
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.toLocalDate:()Ljava/time/LocalDate;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 300
            aload 1 /* o */
            getfield com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault.dateTime:Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.toLocalTime:()Ljava/time/LocalTime;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 301
            ldc "UTC"
            invokestatic java.time.ZoneId.of:(Ljava/lang/String;)Ljava/time/ZoneId;
            aload 2 /* library */
            aload 1 /* o */
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 302
            aload 2 /* library */
            aload 1 /* o */
            invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;)Ljava/util/concurrent/Callable;
              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;
                  com/oracle/truffle/api/test/interop/InteropDateTimeTest.lambda$16(Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            ldc Ljava/lang/AssertionError;
            invokestatic com.oracle.truffle.api.test.interop.InteropDateTimeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
        10: .line 303
            return
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary library
        end local 1 // com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault o
        end local 0 // com.oracle.truffle.api.test.interop.InteropDateTimeTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest;
            1   11     1        o  Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;
            2   11     2  library  Lcom/oracle/truffle/api/interop/InteropLibrary;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static java.lang.Object lambda$0(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 78
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$1(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 79
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$2(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 80
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$3(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 81
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$4(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$Defaults;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 82
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDuration:(Ljava/lang/Object;)Ljava/time/Duration;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$5(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 176
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isDate:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$6(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 177
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTime:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$7(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 178
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isTimeZone:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$8(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 179
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$9(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 180
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$10(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 181
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$11(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 182
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$12(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 193
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDate:(Ljava/lang/Object;)Ljava/time/LocalDate;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$13(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 198
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTime:(Ljava/lang/Object;)Ljava/time/LocalTime;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$14(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 203
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asTimeZone:(Ljava/lang/Object;)Ljava/time/ZoneId;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$15(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 287
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$16(com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/test/interop/InteropDateTimeTest$InstantDefault;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 302
            aload 0
            aload 1
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asInstant:(Ljava/lang/Object;)Ljava/time/Instant;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "InteropDateTimeTest.java"
NestMembers:
  com.oracle.truffle.api.test.interop.InteropDateTimeTest$CombinationTest  com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults  com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault  com.oracle.truffle.api.test.interop.InteropDateTimeTest$InvalidInstant
InnerClasses:
  CombinationTest = com.oracle.truffle.api.test.interop.InteropDateTimeTest$CombinationTest of com.oracle.truffle.api.test.interop.InteropDateTimeTest
  Defaults = com.oracle.truffle.api.test.interop.InteropDateTimeTest$Defaults of com.oracle.truffle.api.test.interop.InteropDateTimeTest
  public InstantDefault = com.oracle.truffle.api.test.interop.InteropDateTimeTest$InstantDefault of com.oracle.truffle.api.test.interop.InteropDateTimeTest
  InvalidInstant = com.oracle.truffle.api.test.interop.InteropDateTimeTest$InvalidInstant of com.oracle.truffle.api.test.interop.InteropDateTimeTest
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles