Skip to content

Commit 08e52e5

Browse files
authored
Merge pull request #171 from facebook/fix-visualize-in-swift
Evaluate visualize argument first thing
2 parents d989ef0 + b4451d2 commit 08e52e5

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

commands/FBVisualizationCommands.py

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ def _showImage(commandForImage):
6060
def _colorIsCGColorRef(color):
6161
color = '(CGColorRef)(' + color + ')'
6262

63-
frame = lldb.debugger.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame()
64-
result = frame.EvaluateExpression('(unsigned long)CFGetTypeID({color}) == (unsigned long)CGColorGetTypeID()'.format(color=color))
63+
result = fb.evaluateExpressionValue('(unsigned long)CFGetTypeID({color}) == (unsigned long)CGColorGetTypeID()'.format(color=color))
6564

6665
if result.GetError() is not None and str(result.GetError()) != 'success':
6766
print "got error: {}".format(result)
@@ -87,8 +86,7 @@ def _showColor(color):
8786
fb.evaluateEffect('[(id){} setFill]'.format(colorToUse))
8887
fb.evaluateEffect('UIRectFill((CGRect)CGRectMake(0.0, 0.0, {imageSize}, {imageSize}))'.format(imageSize=imageSize))
8988

90-
frame = lldb.debugger.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame()
91-
result = frame.EvaluateExpression('(UIImage *)UIGraphicsGetImageFromCurrentImageContext()')
89+
result = fb.evaluateExpressionValue('(UIImage *)UIGraphicsGetImageFromCurrentImageContext()')
9290
if result.GetError() is not None and str(result.GetError()) != 'success':
9391
print "got error {}".format(result)
9492
print result.GetError()
@@ -111,8 +109,7 @@ def _showLayer(layer):
111109
fb.evaluateEffect('UIGraphicsBeginImageContextWithOptions(' + size + ', NO, 0.0)')
112110
fb.evaluateEffect('[(id)' + layer + ' renderInContext:(void *)UIGraphicsGetCurrentContext()]')
113111

114-
frame = lldb.debugger.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame()
115-
result = frame.EvaluateExpression('(UIImage *)UIGraphicsGetImageFromCurrentImageContext()')
112+
result = fb.evaluateExpressionValue('(UIImage *)UIGraphicsGetImageFromCurrentImageContext()')
116113
if result.GetError() is not None and str(result.GetError()) != 'success':
117114
print result.GetError()
118115
else:
@@ -124,8 +121,7 @@ def _showLayer(layer):
124121
def _dataIsImage(data):
125122
data = '(' + data + ')'
126123

127-
frame = lldb.debugger.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame()
128-
result = frame.EvaluateExpression('(id)[UIImage imageWithData:' + data + ']')
124+
result = fb.evaluateExpressionValue('(id)[UIImage imageWithData:' + data + ']')
129125

130126
if result.GetError() is not None and str(result.GetError()) != 'success':
131127
return False
@@ -136,8 +132,7 @@ def _dataIsImage(data):
136132
def _dataIsString(data):
137133
data = '(' + data + ')'
138134

139-
frame = lldb.debugger.GetSelectedTarget().GetProcess().GetSelectedThread().GetSelectedFrame()
140-
result = frame.EvaluateExpression('(NSString*)[[NSString alloc] initWithData:' + data + ' encoding:4]')
135+
result = fb.evaluateExpressionValue('(NSString*)[[NSString alloc] initWithData:' + data + ' encoding:4]')
141136

142137
if result.GetError() is not None and str(result.GetError()) != 'success':
143138
return False
@@ -146,7 +141,7 @@ def _dataIsString(data):
146141
return isString
147142

148143
def _visualize(target):
149-
target = '(' + target + ')'
144+
target = fb.evaluateInputExpression(target)
150145

151146
if fb.evaluateBooleanExpression('(unsigned long)CFGetTypeID((CFTypeRef)' + target + ') == (unsigned long)CGImageGetTypeID()'):
152147
_showImage('(id)[UIImage imageWithCGImage:' + target + ']')

fblldbobjecthelpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import fblldbbase as fb
1212

1313
def isKindOfClass(obj, className):
14-
isKindOfClassStr = '[' + obj + 'isKindOfClass:[{} class]]'
14+
isKindOfClassStr = '[(id)' + obj + ' isKindOfClass:[{} class]]'
1515
return fb.evaluateBooleanExpression(isKindOfClassStr.format(className))
1616

1717
def className(obj):

0 commit comments

Comments
 (0)