* A DebugSource is an opaque stand-in type for the [Source](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Source) type defined in the Debug Adapter Protocol.
*/
exportinterfaceDebugSource{
// opaque contents
// Properties: see details [here](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Source).
}
exportnamespacedebug{
/**
* Converts a "Source" object received via the Debug Adapter Protocol into a Uri that can be used to load its contents.
* Converts a "Source" descriptor object received via the Debug Adapter Protocol into a Uri that can be used to load its contents.
* If the source descriptor is based on a path, a file Uri is returned.
* If the source descriptor uses a reference number, a specific debug Uri (scheme 'debug') is constructed that requires a corresponding VS Code ContentProvider and a running debug session
*
* If the "Source" object has insufficient information to create a uri, an error is thrown.
* If the "Source" descriptor has insufficient information for creating the Uri, an error is thrown.
*
* @param source An object conforming to the [Source](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Source) type defined in the Debug Adapter Protocol.
* @param session An optional debug session that will be used to locate the Debug Adapter Protocol.
* @param session An optional debug session that will be used when the source descriptor uses a reference number to load the contents from an active debug session.
* @return A uri that can be used to load the contents of the source.