@@ -3934,6 +3934,10 @@ StringRef swift::getStringForMetadataKind(MetadataKind kind) {
3934
3934
}
3935
3935
}
3936
3936
3937
+ /* **************************************************************************/
3938
+ /* ** Debugging dump methods ************************************************/
3939
+ /* **************************************************************************/
3940
+
3937
3941
#ifndef NDEBUG
3938
3942
template <>
3939
3943
LLVM_ATTRIBUTE_USED
@@ -3945,6 +3949,33 @@ void Metadata::dump() const {
3945
3949
printf (" Type Context Description: %p.\n " , getTypeContextDescriptor ());
3946
3950
printf (" Generic Args: %p.\n " , getGenericArgs ());
3947
3951
}
3952
+
3953
+ template <>
3954
+ LLVM_ATTRIBUTE_USED
3955
+ void TypeContextDescriptor::dump () const {
3956
+ printf (" TargetTypeContextDescriptor.\n " );
3957
+ printf (" Flags: 0x%x.\n " , this ->Flags );
3958
+ printf (" Parent: %p.\n " , this ->Parent .get ());
3959
+ printf (" Name: %s.\n " , Name.get ());
3960
+ printf (" Access function: %p.\n " , getAccessFunction ());
3961
+ printf (" Fields: %p.\n " , Fields.get ());
3962
+ }
3963
+
3964
+ template <>
3965
+ LLVM_ATTRIBUTE_USED
3966
+ void EnumDescriptor::dump () const {
3967
+ printf (" TargetEnumDescriptor.\n " );
3968
+ printf (" Flags: 0x%x.\n " , this ->Flags );
3969
+ printf (" Parent: %p.\n " , this ->Parent .get ());
3970
+ printf (" Name: %s.\n " , Name.get ());
3971
+ printf (" Access function: %p.\n " , getAccessFunction ());
3972
+ printf (" Fields: %p.\n " , Fields.get ());
3973
+ printf (" NumPayloadCasesAndPayloadSizeOffset: 0x%08x "
3974
+ " (payload cases: %u - payload size offset: %u).\n " ,
3975
+ NumPayloadCasesAndPayloadSizeOffset,
3976
+ getNumPayloadCases (), getPayloadSizeOffset ());
3977
+ printf (" NumEmptyCases: %u\n " , NumEmptyCases);
3978
+ }
3948
3979
#endif
3949
3980
3950
3981
/* **************************************************************************/
0 commit comments