Ternary operator with Null

This code works:

<cfset row = { badge: "myBadge", icon: "myIcon" }>
<cfdump var="#row?.notExists#"> // get Null
<cfdump var="#row?.icon#"> // get "myIcon"

<cfset elementNotExists = Len( row?.notExists ) ? '<span>#row.notExists#</span>' : ''>
<cfset elementIcon = Len( row?.icon ) ? '<span>#row.icon#</span>' : ''>

<cfdump var="#elementNotExists#" label="elementNotExists"> // empy string, works
<cfdump var="#elementIcon#" label="elementIcon"> // "myIcon", works

but if I replace the Len() with IsNull()
(I use IsNull() because Null is the value that i see in dump())

<cfset elementNotExists = IsNull( row?.notExists ) ? '<span>#row.notExists#</span>' : ''>

i get this error:

Expecting a stackmap frame at branch target 911 Exception Details: Location: main1654530888573_2efc4858_de5b_c528_4339_24ca145c2bbc_cfm7020$cf$18w.call(Llucee/runtime/PageContext;)Ljava/lang/Object; @5: aload_1 Reason: Expected stackmap frame at this location. Bytecode: 0x0000000: 2bb6 003c 4d2b b600 402a b400 4203 322b 0x0000010: 05bd 0044 5903 2ab4 0042 0432 1246 b800 0x0000020: 4c53 5904 2ab4 0042 0532 124e b800 4c53 0x0000030: b800 53b9 0059 0300 572b 125b b600 5f2b 0x0000040: c000 6112 6312 6507 1267 b600 6bc0 006d 0x0000050: 4e2d 03b6 0071 2d12 73b6 0076 2d12 78b6 0x0000060: 007b 2d03 b600 7e2d 1280 b600 832d 01b2 0x0000070: 0089 2b2b 2bb6 0040 2ab4 0042 0332 01b6 0x0000080: 008d 2ab4 0042 0632 01b6 0090 b600 942d 0x0000090: b600 9757 2db6 009a 08a0 0008 03b8 009f 0x00000a0: bfa7 0010 3a04 2bc0 0061 2db6 00a3 1904 0x00000b0: bf2b c000 612d b600 a32b 125b b600 5f2b 0x00000c0: c000 6112 6312 6507 12a5 b600 6bc0 006d 0x00000d0: 3a05 1905 03b6 0071 1905 1273 b600 7619 0x00000e0: 0512 78b6 007b 1905 03b6 007e 1905 1280 0x00000f0: b600 8319 0501 b200 892b 2b2b b600 402a 0x0000100: b400 4203 3201 b600 8d2a b400 4205 3201 0x0000110: b600 90b6 0094 1905 b600 9757 1905 b600 0x0000120: 9a08 a000 0803 b800 9fbf a700 113a 062b 0x0000130: c000 6119 05b6 00a3 1906 bf2b c000 6119 0x0000140: 05b6 00a3 2b12 a7b6 005f 2bb6 0040 2ab4 0x0000150: 0042 0732 2b2b 2b2b b600 402a b400 4203 0x0000160: 3201 b600 8d2a b400 4206 3201 b600 90b8 0x0000170: 00ac b800 b299 002c 12b4 2b2b b600 402a 0x0000180: b400 4203 32b9 00b7 0200 2ab4 0042 0632 0x0000190: b600 bab8 00be b600 c412 c6b6 00c4 a700 0x00001a0: 0512 c8b9 0059 0300 572b 125b b600 5f2b 0x00001b0: b600 402a b400 4208 322b 2b2b 2bb6 0040 0x00001c0: 2ab4 0042 0332 01b6 008d 2ab4 0042 0532 0x00001d0: 01b6 0090 b800 acb8 00b2 9900 2c12 b42b 0x00001e0: 2bb6 0040 2ab4 0042 0332 b900 b702 002a 0x00001f0: b400 4205 32b6 00ba b800 beb6 00c4 12c6 0x0000200: b600 c4a7 0005 12c8 b900 5903 0057 2b12 0x0000210: a7b6 005f 2bc0 0061 1263 1265 0712 cab6 0x0000220: 006b c000 6d3a 0719 0703 b600 7119 0712 0x0000230: 73b6 0076 1907 1278 b600 7b19 0703 b600 0x0000240: 7e19 0712 80b6 0083 1907 01b2 0089 2bb6 0x0000250: 0040 2ab4 0042 0732 b900 cc02 00b6 0094 0x0000260: 1907 01b2 00cf 12d1 b600 9419 07b6 0097 0x0000270: 5719 07b6 009a 08a0 0008 03b8 009f bfa7 0x0000280: 0011 3a08 2bc0 0061 1907 b600 a319 08bf 0x0000290: 2bc0 0061 1907 b600 a32b 125b b600 5f2b 0x00002a0: c000 6112 6312 6507 12d3 b600 6bc0 006d 0x00002b0: 3a09 1909 03b6 0071 1909 1273 b600 7619 0x00002c0: 0912 78b6 007b 1909 03b6 007e 1909 1280 0x00002d0: b600 8319 0901 b200 892b b600 402a b400 0x00002e0: 4208 32b9 00cc 0200 b600 9419 0901 b200 0x00002f0: cf12 d5b6 0094 1909 b600 9757 1909 b600 0x0000300: 9a08 a000 0803 b800 9fbf a700 113a 0a2b 0x0000310: c000 6119 09b6 00a3 190a bf2b c000 6119 0x0000320: 09b6 00a3 2b12 a7b6 005f 2bb6 0040 2ab4 0x0000330: 0042 0832 2b2b 2b2b b600 4005 bd00 d759 0x0000340: 032a b400 4203 3253 5904 2ab4 0042 0532 0x0000350: 5301 b800 dcb8 00e1 9900 2c12 b42b 2bb6 0x0000360: 0040 2ab4 0042 0332 b900 b702 002a b400 0x0000370: 4205 32b6 00ba b800 beb6 00c4 12c6 b600 0x0000380: c4a7 0005 12c8 b900 5903 0057 a700 a73a 0x0000390: 0b19 0bb8 00e5 9900 0619 0bbf 190b b800 0x00003a0: e93a 0c2b 190c 0404 b600 ed2b 12ef b600 0x00003b0: 5f2b b600 402a b400 4210 0632 2b2b b600 0x00003c0: 402a b400 4210 0732 05bd 0044 5903 2bb6 0x00003d0: 0040 b200 f2b9 00cc 0200 5359 0412 f453 0x00003e0: b600 f8b9 0059 0300 572b 12ef b600 5f2b 0x00003f0: b600 fb2b 2b14 00fc b801 02b6 005f 2b2b 0x0000400: 2bb6 0040 2ab4 0042 1006 32b9 00cc 0200 0x0000410: b801 07b6 005f a700 0c3a 0d2b b601 0a19 0x0000420: 0dbf 2bb6 010a a700 0d3a 0e2b 2cb6 010d 0x0000430: 190e bf2b 2cb6 010d 01b0 Exception Handler Table: bci [81, 164] => handler: 164 bci [210, 301] => handler: 301 bci [551, 642] => handler: 642 bci [690, 781] => handler: 781 bci [5, 908] => handler: 911 bci [1011, 1049] => handler: 1049 bci [5, 1062] => handler: 1065

Error:
Expecting a stackmap frame at branch target 911 Exception Details: Location: main1654530888573_2efc4858_de5b_c528_4339_24ca145c2bbc_cfm7020$cf$18w.call(Llucee/runtime/PageContext;)Ljava/lang/Object; @5: aload_1 Reason: Expected stackmap frame at this location. Bytecode: 0x0000000: 2bb6 003c 4d2b b600 402a b400 4203 322b 0x0000010: 05bd 0044 5903 2ab4 0042 0432 1246 b800 0x0000020: 4c53 5904 2ab4 0042 0532 124e b800 4c53 0x0000030: b800 53b9 0059 0300 572b 125b b600 5f2b 0x0000040: c000 6112 6312 6507 1267 b600 6bc0 006d 0x0000050: 4e2d 03b6 0071 2d12 73b6 0076 2d12 78b6 0x0000060: 007b 2d03 b600 7e2d 1280 b600 832d 01b2 0x0000070: 0089 2b2b 2bb6 0040 2ab4 0042 0332 01b6 0x0000080: 008d 2ab4 0042 0632 01b6 0090 b600 942d 0x0000090: b600 9757 2db6 009a 08a0 0008 03b8 009f 0x00000a0: bfa7 0010 3a04 2bc0 0061 2db6 00a3 1904 0x00000b0: bf2b c000 612d b600 a32b 125b b600 5f2b 0x00000c0: c000 6112 6312 6507 12a5 b600 6bc0 006d 0x00000d0: 3a05 1905 03b6 0071 1905 1273 b600 7619 0x00000e0: 0512 78b6 007b 1905 03b6 007e 1905 1280 0x00000f0: b600 8319 0501 b200 892b 2b2b b600 402a 0x0000100: b400 4203 3201 b600 8d2a b400 4205 3201 0x0000110: b600 90b6 0094 1905 b600 9757 1905 b600 0x0000120: 9a08 a000 0803 b800 9fbf a700 113a 062b 0x0000130: c000 6119 05b6 00a3 1906 bf2b c000 6119 0x0000140: 05b6 00a3 2b12 a7b6 005f 2bb6 0040 2ab4 0x0000150: 0042 0732 2b2b 2b2b b600 402a b400 4203 0x0000160: 3201 b600 8d2a b400 4206 3201 b600 90b8 0x0000170: 00ac b800 b299 002c 12b4 2b2b b600 402a 0x0000180: b400 4203 32b9 00b7 0200 2ab4 0042 0632 0x0000190: b600 bab8 00be b600 c412 c6b6 00c4 a700 0x00001a0: 0512 c8b9 0059 0300 572b 125b b600 5f2b 0x00001b0: b600 402a b400 4208 322b 2b2b 2bb6 0040 0x00001c0: 2ab4 0042 0332 01b6 008d 2ab4 0042 0532 0x00001d0: 01b6 0090 b800 acb8 00b2 9900 2c12 b42b 0x00001e0: 2bb6 0040 2ab4 0042 0332 b900 b702 002a 0x00001f0: b400 4205 32b6 00ba b800 beb6 00c4 12c6 0x0000200: b600 c4a7 0005 12c8 b900 5903 0057 2b12 0x0000210: a7b6 005f 2bc0 0061 1263 1265 0712 cab6 0x0000220: 006b c000 6d3a 0719 0703 b600 7119 0712 0x0000230: 73b6 0076 1907 1278 b600 7b19 0703 b600 0x0000240: 7e19 0712 80b6 0083 1907 01b2 0089 2bb6 0x0000250: 0040 2ab4 0042 0732 b900 cc02 00b6 0094 0x0000260: 1907 01b2 00cf 12d1 b600 9419 07b6 0097 0x0000270: 5719 07b6 009a 08a0 0008 03b8 009f bfa7 0x0000280: 0011 3a08 2bc0 0061 1907 b600 a319 08bf 0x0000290: 2bc0 0061 1907 b600 a32b 125b b600 5f2b 0x00002a0: c000 6112 6312 6507 12d3 b600 6bc0 006d 0x00002b0: 3a09 1909 03b6 0071 1909 1273 b600 7619 0x00002c0: 0912 78b6 007b 1909 03b6 007e 1909 1280 0x00002d0: b600 8319 0901 b200 892b b600 402a b400 0x00002e0: 4208 32b9 00cc 0200 b600 9419 0901 b200 0x00002f0: cf12 d5b6 0094 1909 b600 9757 1909 b600 0x0000300: 9a08 a000 0803 b800 9fbf a700 113a 0a2b 0x0000310: c000 6119 09b6 00a3 190a bf2b c000 6119 0x0000320: 09b6 00a3 2b12 a7b6 005f 2bb6 0040 2ab4 0x0000330: 0042 0832 2b2b 2b2b b600 4005 bd00 d759 0x0000340: 032a b400 4203 3253 5904 2ab4 0042 0532 0x0000350: 5301 b800 dcb8 00e1 9900 2c12 b42b 2bb6 0x0000360: 0040 2ab4 0042 0332 b900 b702 002a b400 0x0000370: 4205 32b6 00ba b800 beb6 00c4 12c6 b600 0x0000380: c4a7 0005 12c8 b900 5903 0057 a700 a73a 0x0000390: 0b19 0bb8 00e5 9900 0619 0bbf 190b b800 0x00003a0: e93a 0c2b 190c 0404 b600 ed2b 12ef b600 0x00003b0: 5f2b b600 402a b400 4210 0632 2b2b b600 0x00003c0: 402a b400 4210 0732 05bd 0044 5903 2bb6 0x00003d0: 0040 b200 f2b9 00cc 0200 5359 0412 f453 0x00003e0: b600 f8b9 0059 0300 572b 12ef b600 5f2b 0x00003f0: b600 fb2b 2b14 00fc b801 02b6 005f 2b2b 0x0000400: 2bb6 0040 2ab4 0042 1006 32b9 00cc 0200 0x0000410: b801 07b6 005f a700 0c3a 0d2b b601 0a19 0x0000420: 0dbf 2bb6 010a a700 0d3a 0e2b 2cb6 010d 0x0000430: 190e bf2b 2cb6 010d 01b0 Exception Handler Table: bci [81, 164] => handler: 164 bci [210, 301] => handler: 301 bci [551, 642] => handler: 642 bci [690, 781] => handler: 781 bci [5, 908] => handler: 911 bci [1011, 1049] => handler: 1049 bci [5, 1062] => handler: 1065

This is a known issue when using the save nav operator

https://luceeserver.atlassian.net/browse/LDEV-3020

Reported 2 years ago.

1 Like