Skip to content

Commit 5136175

Browse files
authored
Value description (#11798)
Summary: Pretty-print Value's contents and metadata Reviewed By: bsoyluoglu Differential Revision: D76915255
1 parent 3943938 commit 5136175

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

extension/apple/ExecuTorch/Exported/ExecuTorchValue.mm

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,36 @@ static inline ExecuTorchValueTag deduceValueTag(NSNumber *number) {
2929
}
3030
}
3131

32+
static inline NSString *valueTagDescription(ExecuTorchValueTag tag) {
33+
switch (tag) {
34+
case ExecuTorchValueTagNone:
35+
return @"none";
36+
case ExecuTorchValueTagTensor:
37+
return @"tensor";
38+
case ExecuTorchValueTagString:
39+
return @"string";
40+
case ExecuTorchValueTagDouble:
41+
return @"double";
42+
case ExecuTorchValueTagInteger:
43+
return @"integer";
44+
case ExecuTorchValueTagBoolean:
45+
return @"boolean";
46+
case ExecuTorchValueTagBooleanList:
47+
return @"boolean_list";
48+
case ExecuTorchValueTagDoubleList:
49+
return @"double_list";
50+
case ExecuTorchValueTagIntegerList:
51+
return @"integer_list";
52+
case ExecuTorchValueTagTensorList:
53+
return @"tensor_list";
54+
case ExecuTorchValueTagScalarList:
55+
return @"scalar_list";
56+
case ExecuTorchValueTagOptionalTensorList:
57+
return @"optional_tensor_list";
58+
}
59+
return @"undefined";
60+
}
61+
3262
@interface ExecuTorchValue ()
3363

3464
- (instancetype)initWithTag:(ExecuTorchValueTag)tag
@@ -195,4 +225,24 @@ - (BOOL)isEqual:(nullable id)other {
195225
return [self isEqualToValue:(ExecuTorchValue *)other];
196226
}
197227

228+
- (NSString *)description {
229+
NSMutableString *string = [NSMutableString new];
230+
[string appendString:@"Value {"];
231+
[string appendFormat:@"\n tag: %@", valueTagDescription(_tag)];
232+
[string appendString:@","];
233+
[string appendString:@"\n value: "];
234+
if (_value) {
235+
NSString *valueDescription = [_value description];
236+
[string appendString:[_value description]];
237+
[string replaceOccurrencesOfString:@"\n"
238+
withString:@"\n "
239+
options:0
240+
range:NSMakeRange(string.length - valueDescription.length, valueDescription.length)];
241+
} else {
242+
[string appendString:@"nil"];
243+
}
244+
[string appendString:@"\n}"];
245+
return string;
246+
}
247+
198248
@end

0 commit comments

Comments
 (0)