Skip to content

Surface Objective-C and template-parameter-pack Type predicates#816

Merged
tannergooding merged 1 commit into
dotnet:mainfrom
tannergooding:tannergooding-v22-type-side-predicates
Jul 17, 2026
Merged

Surface Objective-C and template-parameter-pack Type predicates#816
tannergooding merged 1 commit into
dotnet:mainfrom
tannergooding:tannergooding-v22-type-side-predicates

Conversation

@tannergooding

Copy link
Copy Markdown
Member

Surfaces the remaining Type-side predicates newly reachable from the v22 libClangSharp port. These are the subclass-dispatched bridges; the base-Type dependence predicates (IsDependentType, IsInstantiationDependentType, ContainsUnexpandedParameterPack, IsVariablyModifiedType) were already surfaced on Type via the Dependence flags, so they are intentionally not re-added.


Objective-C

  • Type.IsObjCIdType / IsObjCClassType / IsObjCQualifiedIdType / IsObjCQualifiedClassType
  • ObjCObjectType / ObjCObjectPointerType: IsKindOfType, IsSpecialized, IsSpecializedAsWritten (plus IsKindOfTypeAsWritten on ObjCObjectType, which is where the native dispatch exposes it)
  • ObjCTypeParamType.Protocols

Templates

  • TemplateTypeParmType.IsParameterPack

Adds TypePredicateTest covering both clusters. Full interop suite green (92/92), 0 warnings.

Note

Authored with Copilot.

Adds the ObjC Type predicates (id/class/qualified-id/qualified-class,
kind-of, specialized) across ObjCObjectType/ObjCObjectPointerType,
ObjCTypeParamType protocols, and TemplateTypeParmType.IsParameterPack.
The base-Type dependence predicates were already surfaced via the
Dependence flags, so only the subclass-dispatched bridges remained.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@tannergooding
tannergooding merged commit 5ea8318 into dotnet:main Jul 17, 2026
12 checks passed
@tannergooding
tannergooding deleted the tannergooding-v22-type-side-predicates branch July 17, 2026 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant