diff a/test/hotspot/jtreg/runtime/valhalla/inlinetypes/testSupers/InlineClassWithBadSupers.jcod b/test/hotspot/jtreg/runtime/valhalla/inlinetypes/testSupers/InlineClassWithBadSupers.jcod
--- /dev/null
+++ b/test/hotspot/jtreg/runtime/valhalla/inlinetypes/testSupers/InlineClassWithBadSupers.jcod
@@ -0,0 +1,2637 @@
+/*
+ * Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+// The test cases in this .jcod file are based on this .java file:
+// public primitive final class Point extends AbstractClass {
+//     final int x;
+//     final int y;
+//
+//     private Point() {
+//         x = 0;
+//         y = 0;
+//     }
+//
+//     public int getX() { return x; }
+//     public int getY() { return y; }
+// }
+
+// Primitive class with a super class that is not abstract.
+class PrimitiveSuperNotAbstract {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "PrimitiveSuperNotAbstract"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(QPrimitiveSuperNotAbstract;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(QPrimitiveSuperNotAbstract;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(QPrimitiveSuperNotAbstract;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "NotAbstract"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()QPrimitiveSuperNotAbstract;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "PrimitiveSuperNotAbstract.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0851; // access [ ACC_VALUE ACC_PRIMITIVE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class PrimitiveSuperNotAbstract
+
+
+
+// Primitive class with a super class that has instance fields.
+class PrimitiveSuperHasNonStaticFields {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "PrimitiveSuperHasNonStaticFields"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(QPrimitiveSuperHasNonStaticFields;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(QPrimitiveSuperHasNonStaticFields;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(QPrimitiveSuperHasNonStaticFields;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "HasNonStaticFields"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()QPrimitiveSuperHasNonStaticFields;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "PrimitiveSuperHasNonStaticFields.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0851; // access [ ACC_VALUE ACC_PRIMITIVE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class PrimitiveSuperHasNonStaticFields
+
+
+
+// primitive value class with a super class whose super class has a syncronized instance method.
+class PrimitiveSuperHasSynchMethod {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "PrimitiveSuperHasSynchMethod"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(QPrimitiveSuperHasSynchMethod;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(QPrimitiveSuperHasSynchMethod;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(QPrimitiveSuperHasSynchMethod;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "ValidSuper"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()QPrimitiveSuperHasSynchMethod;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "PrimitiveSuperHasSynchMethod.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0851; // access [ ACC_VALUE ACC_PRIMITIVE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class PrimitiveSuperHasSynchMethod
+
+
+// primitive value class with a super class containing a constructor that has arguments.
+class PrimitiveSuperCtorHasArgs {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "PrimitiveSuperCtorHasArgs"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(QPrimitiveSuperCtorHasArgs;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(QPrimitiveSuperCtorHasArgs;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(QPrimitiveSuperCtorHasArgs;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "CtorHasArgs"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()QPrimitiveSuperCtorHasArgs;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "PrimitiveSuperCtorHasArgs.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0851; // access [ ACC_VALUE ACC_PRIMITIVE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class PrimitiveSuperCtorHasArgs
+
+
+
+// primitive value class with a super class containing a constructor that has a non-empty
+// method body.
+class PrimitiveSuperCtorIsNotEmpty {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "PrimitiveSuperCtorIsNotEmpty"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(QPrimitiveSuperCtorIsNotEmpty;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(QPrimitiveSuperCtorIsNotEmpty;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(QPrimitiveSuperCtorIsNotEmpty;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "CtorIsNotEmpty"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()QPrimitiveSuperCtorIsNotEmpty;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "PrimitiveSuperCtorIsNotEmpty.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0851; // access [ ACC_VALUE ACC_PRIMITIVE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class PrimitiveSuperCtorIsNotEmpty
+
+// Again for value objects...
+
+// Value class with a super class that is not abstract.
+class ValueSuperNotAbstract {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "ValueSuperNotAbstract"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(LValueSuperNotAbstract;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(LValueSuperNotAbstract;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(LValueSuperNotAbstract;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "NotAbstract"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()LValueSuperNotAbstract;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "ValueSuperNotAbstract.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0051; // access [ ACC_VALUE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class ValueSuperNotAbstract
+
+
+
+// Value class with a super class that has instance fields.
+class ValueSuperHasNonStaticFields {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "ValueSuperHasNonStaticFields"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(LValueSuperHasNonStaticFields;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(LValueSuperHasNonStaticFields;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(LValueSuperHasNonStaticFields;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "HasNonStaticFields"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()LValueSuperHasNonStaticFields;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "ValueSuperHasNonStaticFields.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0051; // access [ ACC_VALUE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class ValueSuperHasNonStaticFields
+
+
+
+// primitive value class with a super class whose super class has a syncronized instance method.
+class ValueSuperHasSynchMethod {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "ValueSuperHasSynchMethod"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(LValueSuperHasSynchMethod;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(LValueSuperHasSynchMethod;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(LValueSuperHasSynchMethod;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "ValidSuper"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()LValueSuperHasSynchMethod;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "ValueSuperHasSynchMethod.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0051; // access [ ACC_VALUE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class ValueSuperHasSynchMethod
+
+
+// primitive value class with a super class containing a constructor that has arguments.
+class ValueSuperCtorHasArgs {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "ValueSuperCtorHasArgs"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(LValueSuperCtorHasArgs;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(LValueSuperCtorHasArgs;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(LValueSuperCtorHasArgs;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "CtorHasArgs"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()LValueSuperCtorHasArgs;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "ValueSuperCtorHasArgs.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0051; // access [ ACC_VALUE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class ValueSuperCtorHasArgs
+
+
+
+// primitive value class with a super class containing a constructor that has a non-empty
+// method body.
+class ValueSuperCtorIsNotEmpty {
+  0xCAFEBABE;
+  0; // minor version
+  66; // version
+  [51] { // Constant Pool
+    ; // first element is empty
+    class #2; // #1     at 0x0A
+    Utf8 "ValueSuperCtorIsNotEmpty"; // #2     at 0x0D
+    Field #1 #4; // #3     at 0x20
+    NameAndType #5 #6; // #4     at 0x25
+    Utf8 "x"; // #5     at 0x2A
+    Utf8 "I"; // #6     at 0x2E
+    Field #1 #8; // #7     at 0x32
+    NameAndType #9 #6; // #8     at 0x37
+    Utf8 "y"; // #9     at 0x3C
+    InvokeDynamic 0s #11; // #10     at 0x40
+    NameAndType #12 #13; // #11     at 0x45
+    Utf8 "hashCode"; // #12     at 0x4A
+    Utf8 "(LValueSuperCtorIsNotEmpty;)I"; // #13     at 0x55
+    InvokeDynamic 0s #15; // #14     at 0x6D
+    NameAndType #16 #17; // #15     at 0x72
+    Utf8 "equals"; // #16     at 0x77
+    Utf8 "(LValueSuperCtorIsNotEmpty;Ljava/lang/Object;)Z"; // #17     at 0x80
+    InvokeDynamic 0s #19; // #18     at 0xAA
+    NameAndType #20 #21; // #19     at 0xAF
+    Utf8 "toString"; // #20     at 0xB4
+    Utf8 "(LValueSuperCtorIsNotEmpty;)Ljava/lang/String;"; // #21     at 0xBF
+    class #23; // #22     at 0xE8
+    Utf8 "CtorIsNotEmpty"; // #23     at 0xEB
+    class #25; // #24     at 0xF9
+    Utf8 "Unused"; // #25     at 0xFC
+    Utf8 "getX"; // #26     at 0x0115
+    Utf8 "()I"; // #27     at 0x011C
+    Utf8 "Code"; // #28     at 0x0122
+    Utf8 "LineNumberTable"; // #29     at 0x0129
+    Utf8 "getY"; // #30     at 0x013B
+    Utf8 "(Ljava/lang/Object;)Z"; // #31     at 0x0142
+    Utf8 "()Ljava/lang/String;"; // #32     at 0x015A
+    Utf8 "<vnew>"; // #33     at 0x0171
+    Utf8 "()LValueSuperCtorIsNotEmpty;"; // #34     at 0x017A
+    Utf8 "SourceFile"; // #35     at 0x0191
+    Utf8 "ValueSuperCtorIsNotEmpty.java"; // #36     at 0x019E
+    Utf8 "BootstrapMethods"; // #37     at 0x01B6
+    MethodHandle 6b #39; // #38     at 0x01C9
+    Method #40 #41; // #39     at 0x01CD
+    class #42; // #40     at 0x01D2
+    NameAndType #43 #44; // #41     at 0x01D5
+    Utf8 "java/lang/invoke/ValueBootstrapMethods"; // #42     at 0x01DA
+    Utf8 "makeBootstrapMethod"; // #43     at 0x0203
+    Utf8 "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;"; // #44     at 0x0219
+    Utf8 "InnerClasses"; // #45     at 0x028F
+    class #47; // #46     at 0x029E
+    Utf8 "java/lang/invoke/MethodHandles$Lookup"; // #47     at 0x02A1
+    class #49; // #48     at 0x02C9
+    Utf8 "java/lang/invoke/MethodHandles"; // #49     at 0x02CC
+    Utf8 "Lookup"; // #50     at 0x02ED
+  } // Constant Pool
+
+  0x0051; // access [ ACC_VALUE ACC_PUBLIC ACC_FINAL ]
+  #1;// this_cpx
+  #22;// super_cpx
+
+  [0] { // Interfaces
+  } // Interfaces
+
+  [2] { // fields
+    { // Member at 0x0302
+      0x0010; // access
+      #5; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x030A
+      0x0010; // access
+      #9; // name_cpx
+      #6; // sig_cpx
+      [0] { // Attributes
+      } // Attributes
+    } // Member
+  } // fields
+
+  [6] { // methods
+    { // Member at 0x0314
+      0x0001; // access
+      #26; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x031C
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40003AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x0333
+              [1] { // LineNumberTable
+                0  10; //  at 0x033F
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x033F
+      0x0001; // access
+      #30; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 29) { // Code at 0x0347
+          1; // max_stack
+          1; // max_locals
+          Bytes[5]{
+            0x2AB40007AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x035E
+              [1] { // LineNumberTable
+                0  11; //  at 0x036A
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x036A
+      0x0011; // access
+      #12; // name_cpx
+      #27; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x0372
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA000A0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x038B
+              [1] { // LineNumberTable
+                0  1; //  at 0x0397
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x0397
+      0x0011; // access
+      #16; // name_cpx
+      #31; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 32) { // Code at 0x039F
+          2; // max_stack
+          2; // max_locals
+          Bytes[8]{
+            0x2A2BBA000E0000AC;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03B9
+              [1] { // LineNumberTable
+                0  1; //  at 0x03C5
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03C5
+      0x0011; // access
+      #20; // name_cpx
+      #32; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 31) { // Code at 0x03CD
+          1; // max_stack
+          1; // max_locals
+          Bytes[7]{
+            0x2ABA00120000B0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 6) { // LineNumberTable at 0x03E6
+              [1] { // LineNumberTable
+                0  1; //  at 0x03F2
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+    ;
+    { // Member at 0x03F2
+      0x000A; // access
+      #33; // name_cpx
+      #34; // sig_cpx
+      [1] { // Attributes
+        Attr(#28, 56) { // Code at 0x03FA
+          2; // max_stack
+          1; // max_locals
+          Bytes[20]{
+            0xCB00014B032A5FCC;
+            0x00034B032A5FCC00;
+            0x074B2AB0;
+          }
+          [0] { // Traps
+          } // end Traps
+          [1] { // Attributes
+            Attr(#29, 18) { // LineNumberTable at 0x0420
+              [4] { // LineNumberTable
+                0  5; //  at 0x042C
+                4  6; //  at 0x0430
+                11  7; //  at 0x0434
+                18  8; //  at 0x0438
+              }
+            } // end LineNumberTable
+          } // Attributes
+        } // end Code
+      } // Attributes
+    } // Member
+  } // methods
+
+  [3] { // Attributes
+    Attr(#35, 2) { // SourceFile at 0x043A
+      #36;
+    } // end SourceFile
+    ;
+    Attr(#37, 6) { // BootstrapMethods at 0x0442
+      [1] { // bootstrap_methods
+        {  //  bootstrap_method
+          #38; // bootstrap_method_ref
+          [0] { // bootstrap_arguments
+          }  //  bootstrap_arguments
+        }  //  bootstrap_method
+      }
+    } // end BootstrapMethods
+    ;
+    Attr(#45, 10) { // InnerClasses at 0x044E
+      [1] { // InnerClasses
+        #46 #48 #50 25; //  at 0x045E
+      }
+    } // end InnerClasses
+  } // Attributes
+} // end class ValueSuperCtorIsNotEmpty
+
+
+
