MCPcopy Create free account
hub / github.com/Snapchat/Valdi / removeSource

Method removeSource

valdi/vscode_debugger/src/adapter/sources.ts:795–841  ·  view source on GitHub ↗
(source: Source, silent = false)

Source from the content-addressed store, hash-verified

793 }
794
795 removeSource(source: Source, silent = false) {
796 const existing = this._sourceByReference.get(source.sourceReference());
797 if (existing === undefined) {
798 return; // already removed
799 }
800
801 this.logger.assert(
802 source === existing,
803 'Expected source to be the same as the existing reference',
804 );
805 this._sourceByReference.delete(source.sourceReference());
806 if (source instanceof SourceFromMap) {
807 this._sourceMapSourcesByUrl.delete(source.url);
808 }
809
810 this._sourceByAbsolutePath.delete(source.absolutePath());
811 this._disabledSourceMaps.delete(source);
812 if (!silent) {
813 source.toDap().then(dap => this._dap.loadedSource({ reason: 'removed', source: dap }));
814 }
815
816 if (!isSourceWithMap(source)) return;
817
818 const sourceMap = this._sourceMaps.get(source.sourceMap.url);
819 if (
820 !this.logger.assert(
821 sourceMap,
822 `Source map missing for ${source.sourceMap.url} in removeSource()`,
823 )
824 ) {
825 return;
826 }
827 this.logger.assert(
828 sourceMap.compiled.has(source),
829 `Source map ${source.sourceMap.url} does not contain source ${source.url}`,
830 );
831
832 sourceMap.compiled.delete(source);
833 if (!sourceMap.compiled.size) {
834 if (sourceMap.map) sourceMap.map.destroy();
835 this._sourceMaps.delete(source.sourceMap.url);
836 }
837 // Source map could still be loading, or failed to load.
838 if (sourceMap.map) {
839 this._removeSourceMapSources(source, sourceMap.map, silent);
840 }
841 }
842
843 async _addSourceMapSources(compiled: ISourceWithMap, map: SourceMap) {
844 const todo: Promise<void>[] = [];

Callers 2

_removeAllScriptsMethod · 0.80

Calls 12

isSourceWithMapFunction · 0.85
sourceReferenceMethod · 0.80
absolutePathMethod · 0.80
loadedSourceMethod · 0.80
getMethod · 0.65
assertMethod · 0.65
deleteMethod · 0.65
thenMethod · 0.65
hasMethod · 0.65
destroyMethod · 0.65
toDapMethod · 0.45

Tested by

no test coverage detected