@@ -1492,6 +1492,8 @@ class QAST::OperationsJS {
1492
1492
add_simple_op(' getlexrelcaller' , $ T_OBJ , [$ T_OBJ , $ T_STR ], sub ($ ctx , $ name ) {" $ ctx. lookupWithCallers ($ name )" });
1493
1493
add_simple_op(' getlexrel' , $ T_OBJ , [$ T_OBJ , $ T_STR ]);
1494
1494
1495
+ add_simple_op(' getlex' , $ T_OBJ , [$ T_STR ], sub ($ name ) {" { $ * CTX } .lookupOrNull($ name )" });
1496
+
1495
1497
add_simple_op(' captureexistsnamed' , $ T_INT , [$ T_OBJ , $ T_STR ]);
1496
1498
add_simple_op(' capturehasnameds' , $ T_INT , [$ T_OBJ ]);
1497
1499
add_simple_op(' captureposelems' , $ T_INT , [$ T_OBJ ]);
@@ -1503,6 +1505,8 @@ class QAST::OperationsJS {
1503
1505
1504
1506
add_simple_op(' captureposprimspec' , $ T_INT , [$ T_OBJ , $ T_INT ]);
1505
1507
1508
+ add_simple_op(' captureinnerlex' , $ T_OBJ , [$ T_OBJ ], :! inlinable, : side_effects);
1509
+
1506
1510
add_simple_op(' invokewithcapture' , $ T_OBJ , [$ T_OBJ , $ T_OBJ ], sub ($ invokee , $ capture ) {
1507
1511
" $ invokee .\$\$apply([{ $ * CTX } ].concat($ capture .named, $ capture .pos))"
1508
1512
}, : side_effects);
0 commit comments