summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
diff options
context:
space:
mode:
authorVolodymyr Sapsai <vsapsai@apple.com>2019-10-09 19:29:13 +0000
committerVolodymyr Sapsai <vsapsai@apple.com>2019-10-09 19:29:13 +0000
commit02c2ab3d8872416589bd1a6ca3dfb96ba373a3b9 (patch)
tree5e18f62ae7d6a7840a7a39724db55f71eae9df52 /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
parent87aa9c9e4d41ed881453e2fab85b3d25f648bb55 (diff)
downloadbcm5719-llvm-02c2ab3d8872416589bd1a6ca3dfb96ba373a3b9.tar.gz
bcm5719-llvm-02c2ab3d8872416589bd1a6ca3dfb96ba373a3b9.zip
[ObjC generics] Fix not inheriting type bounds in categories/extensions.
When a category/extension doesn't repeat a type bound, corresponding type parameter is substituted with `id` when used as a type argument. As a result, in the added test case it was causing errors like > type argument 'T' (aka 'id') does not satisfy the bound ('id<NSCopying>') of type parameter 'T' We are already checking that type parameters should be consistent everywhere (see `checkTypeParamListConsistency`) and update `ObjCTypeParamDecl` to have correct underlying type. And when we use the type parameter as a method return type or a method parameter type, it is substituted to the bounded type. But when we use the type parameter as a type argument, we check `ObjCTypeParamType` that ignores the updated underlying type and remains `id`. Fix by desugaring `ObjCTypeParamType` to the underlying type, the same way we are doing with `TypedefType`. rdar://problem/54329242 Reviewers: erik.pilkington, ahatanak Reviewed By: erik.pilkington Subscribers: jkorous, dexonsmith, ributzka, cfe-commits Differential Revision: https://reviews.llvm.org/D66696 llvm-svn: 374202
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud