Erroneous stack map frame exception after move from 9.3 to 9.4
I have come code that takes existing classes and adds extra methods (one normal method and one constructor) to those classes.
The existing classes are produced by Scala 3.2.0 (I have not tried earlier versions).
When processing the visitEnd I get:-
Exception in thread "main" java.lang.IllegalArgumentException: Error at instruction 14: Stack map frame incompatible with frame at instruction 32 (incompatible types at local 3: . and R) $anonfun$6(Luk/co/dga/pdf2odoo/ScanData;Luk/co/dga/pdf2odoo/ItemLine;)Luk/co/dga/pdf2odoo/ScanData;
00000 R R R . . . : : L0
00001 R R . . . . : : LINENUMBER 383 L0
00002 R R . . . . : : ALOAD 1
00003 R R . . . . : R : INVOKEVIRTUAL uk/co/dga/pdf2odoo/ItemLine.newLine ()Z
00004 R R . . . . : I : IFEQ L1
00005 R R . . . . : : L2
00006 R R . . . . : : LINENUMBER 384 L2
00007 R R . . . . : : ALOAD 0
00008 R R . . . . : R : INVOKEVIRTUAL uk/co/dga/pdf2odoo/ScanData.pending ()Lscala/Option;
00009 R R . . . . : R : ASTORE 2
00010 R R R . . . : : L3
00011 R R R . . . : : LINENUMBER 385 L3
00012 R R R . . . : : ALOAD 2
00013 R R R . . . : R : INSTANCEOF scala/Some
00014 R R R . . . : I : IFEQ L4
00015 ? : ALOAD 2
00016 ? : CHECKCAST scala/Some
00017 ? : INVOKEVIRTUAL scala/Some.value ()Ljava/lang/Object;
00018 ? : CHECKCAST uk/co/dga/pdf2odoo/ItemLine
00019 ? : ASTORE 3
00020 ? : L5
00021 ? : GETSTATIC uk/co/dga/pdf2odoo/ScanData.MODULE
: Luk/co/dga/pdf2odoo/ScanData$;
00022 ? : ALOAD 0
00023 ? : INVOKEVIRTUAL uk/co/dga/pdf2odoo/ScanData.list ()Lscala/collection/immutable/List;
00024 ? : ALOAD 3
00025 ? : INVOKEVIRTUAL scala/collection/immutable/List.colon
plus (Ljava/lang/Object;)Ljava/lang/Object;
00026 ? : CHECKCAST scala/collection/immutable/List
00027 ? : GETSTATIC scala/Some.MODULE
: Lscala/Some$;
00028 ? : ALOAD 1
00029 ? : INVOKEVIRTUAL scala/Some$.apply (Ljava/lang/Object;)Lscala/Some;
00030 ? : INVOKEVIRTUAL uk/co/dga/pdf2odoo/ScanData$.apply (Lscala/collection/immutable/List;Lscala/Option;)Luk/co/dga/pdf2odoo/ScanData;
00031 ? : ARETURN
00032 R R . R . . : : L4
00033 R R . R . . : : LINENUMBER 386 L4
00034 R R . R . . : : FRAME APPEND [scala/Option]
00035 ? : GETSTATIC scala/None.MODULE
: Lscala/None$;
00036 ? : ALOAD 2
when I run with 9.4, but with 9.3 I get no such exception. When I run the code with openjdk-17 or openjdk-11 it runs correctly having been processed with 9.3.