@@ -38,6 +38,8 @@ def lldbcommands():
38
38
FBPrintInSwift (),
39
39
FBPrintObjectInObjc (),
40
40
FBPrintObjectInSwift (),
41
+ FBExpressionInObjc (),
42
+ FBExpressionInSwift (),
41
43
]
42
44
43
45
class FBPrintViewHierarchyCommand (fb .FBCommand ):
@@ -584,3 +586,45 @@ def args(self):
584
586
def run (self , arguments , options ):
585
587
expression = arguments [0 ]
586
588
lldb .debugger .HandleCommand ('expression -O -l Swift -- ' + expression )
589
+
590
+ class FBExpressionInObjc (fb .FBCommand ):
591
+ def name (self ):
592
+ return 'eobjc'
593
+
594
+ def description (self ):
595
+ return 'Run expression run in an ObjC++ context. (Shortcut for "expression -l ObjC++" )'
596
+
597
+ def args (self ):
598
+ return [
599
+ fb .FBCommandArgument (arg = 'expression' , help = 'ObjC expression to evaluate and print.' ),
600
+ ]
601
+
602
+ def run (self , arguments , options ):
603
+ values = arguments [0 ].split ("--" , 1 )
604
+ if len (values ) is 2 :
605
+ (arguments , expression ) = arguments
606
+ lldb .debugger .HandleCommand ('expression -l ObjC++ ' + arguments + " -- " + expression )
607
+ else :
608
+ expression = arguments [0 ]
609
+ lldb .debugger .HandleCommand ('expression -l ObjC++ -- ' + expression )
610
+
611
+ class FBExpressionInSwift (fb .FBCommand ):
612
+ def name (self ):
613
+ return 'eswift'
614
+
615
+ def description (self ):
616
+ return 'Run expression run in a Swift context. (Shortcut for "expression -l Swift" )'
617
+
618
+ def args (self ):
619
+ return [
620
+ fb .FBCommandArgument (arg = 'expression' , help = 'Swift expression to evaluate and print.' ),
621
+ ]
622
+
623
+ def run (self , arguments , options ):
624
+ values = arguments [0 ].split ("--" , 1 )
625
+ if len (values ) is 2 :
626
+ (arguments , expression ) = arguments
627
+ lldb .debugger .HandleCommand ('expression -l Swift ' + arguments + " -- " + expression )
628
+ else :
629
+ expression = arguments [0 ]
630
+ lldb .debugger .HandleCommand ('expression -l Swift -- ' + expression )
0 commit comments