使用 LLDB,我可以为类型添加自定义摘要:
(lldb) type summary add -s "This is a Foo" Baz.Foo
Run Code Online (Sandbox Code Playgroud)
但是,对于具有两个或多个泛型的泛型,我无法执行此操作。
给定一个Foo具有两个或多个泛型类型的模块 Baz :
(lldb) type summary add -s "This is a Foo" Baz.Foo
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法;都没有成功:
type summary add -s "This is a Foo" Baz.Footype summary add -s "This is a Foo" Baz.Foo<A, B>type summary add -s "This is a Foo" Baz.Foo<Float, Float>type summary add -s "This is a Foo" Baz.Foo<Bar, Bar2>type summary add -s "This is a Foo" Baz.Foo<Float>在所有情况下,打印的是标准描述而不是自定义描述。
那么如何为具有两个或多个泛型的泛型添加自定义摘要,理想情况下无需为Barand指定具体类型Bar2?
使用--regex/-x标志来模式匹配 Swift 中的泛型类型或 C++ 中的模板类型。
type summary add -s "This is a Foo" -x "^Baz\.Foo<.+,.+>$"
Run Code Online (Sandbox Code Playgroud)
您可以通过运行查看许多示例type summary list -l swift。下面是如何Dictionary显示:
^Swift\.Dictionary<.+,.+>$: (show children) (hide value) (skip references) Swift.Dictionary summary provider
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |