summaryrefslogtreecommitdiff
path: root/src/inc/prettyprintsig.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/inc/prettyprintsig.h')
-rw-r--r--src/inc/prettyprintsig.h91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/inc/prettyprintsig.h b/src/inc/prettyprintsig.h
new file mode 100644
index 0000000000..adab46ee0f
--- /dev/null
+++ b/src/inc/prettyprintsig.h
@@ -0,0 +1,91 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+//*****************************************************************************
+// This code supports formatting a method and it's signature in a friendly
+// and consistent format.
+//
+//*****************************************************************************
+
+#ifndef __PrettyPrintSig_h__
+#define __PrettyPrintSig_h__
+
+#include <cor.h>
+
+class CQuickBytes;
+
+//
+// The return value is either NULL or a null-terminated ASCII string
+//
+
+//---------------------------------------------------------------------------------------
+//
+// Prints a signature in a human readable format.
+// No one should use this function. This exists strictly for backwards compatibility with external formats.
+//
+// Arguments:
+// sigPtr - Method/field sig to convert
+// sigLen - length of sig
+// name - the name of the method for this sig. Can be L""
+// scratch - scratch buffer to use
+// pIMDI - Import api to use.
+//
+// Return Value:
+// The formatted string.
+//
+// Assumptions:
+// None
+//
+// Notes:
+// Dev's SHOULD NOT create new callers to this function. Use
+// code:PrettyPrintSig in formatype.h instead. This function exists for
+// legacy support in the CLR. There are places that depend on the format
+// of this string.
+//
+
+LPCWSTR PrettyPrintSigLegacy(
+ PCCOR_SIGNATURE sigPtr, // Method/field sig to convert
+ unsigned sigLen, // length of sig
+ LPCWSTR name, // the name of the method for this sig. Can be L""
+ CQuickBytes *scratch, // scratch buffer to use
+ IMetaDataImport *pIMDI); // Import api to use.
+
+struct IMDInternalImport;
+
+//---------------------------------------------------------------------------------------
+//
+// Prints a signature in a human readable format.
+// No one should use this function. This exists strictly for backwards compatibility with external formats.
+//
+// Arguments:
+// sigPtr - Method/field sig to convert
+// sigLen - length of sig
+// name - the name of the method for this sig. Can be L""
+// out - The buffer in which to write the pretty printed string.
+// pIMDI - Import api to use.
+//
+// Return Value:
+// An HRESULT and the formatted string is in out as a unicode string.
+//
+// Assumptions:
+// None
+//
+// Notes:
+// Dev's SHOULD NOT create new callers to this function. Use
+// code:PrettyPrintSig in formattype.h instead. This function exists for
+// legacy support in the CLR. There are places that depend on the format
+// of this string.
+//
+HRESULT PrettyPrintSigInternalLegacy( // S_OK or error.
+ PCCOR_SIGNATURE sigPtr, // sig to convert,
+ unsigned sigLen, // length of sig
+ LPCSTR name, // can be "", the name of the method for this sig
+ CQuickBytes *out, // where to put the pretty printed string
+ IMDInternalImport *pIMDI); // Import api to use.
+
+//
+// On success, the null-terminated ASCII string is in "out.Ptr()"
+//
+
+#endif // __PrettyPrintSig_h__