@@ -61,10 +61,13 @@ export class CoverageMapService {
6161 /** @type (coverageMap: CoverageMapData) => void */
6262 addCoverageMap ( coverageMap ) {
6363 for ( const filePath in coverageMap ) {
64- const [ schemaUri ] = Object . keys ( coverageMap [ filePath ] . statementMap ) ;
64+ const [ schemaUri ] = Object . keys ( coverageMap [ filePath ] . fnMap ) ;
6565 this . #coverageMaps[ schemaUri ] = coverageMap ;
6666
6767 for ( const fileCoveragePath in coverageMap ) {
68+ for ( const location in coverageMap [ fileCoveragePath ] . fnMap ) {
69+ this . #filePathFor[ location ] = fileCoveragePath ;
70+ }
6871 for ( const location in coverageMap [ fileCoveragePath ] . statementMap ) {
6972 this . #filePathFor[ location ] = fileCoveragePath ;
7073 }
@@ -157,25 +160,13 @@ export class CoverageMapService {
157160 }
158161
159162 const pointer = decodeURI ( /** @type string */ ( parseIri ( schemaLocation ) . fragment ) ) ;
160- const node = getNodeFromPointer ( schemaNodes [ toAbsoluteIri ( schemaLocation ) ] , pointer , true ) ;
161-
162- const declRange = node . type === "json-property"
163- ? this . #positionToRange( node . children [ 0 ] . position )
164- : {
165- start : { line : node . position . start . line , column : node . position . start . column - 1 } ,
166- end : { line : node . position . start . line , column : node . position . start . column - 1 }
167- } ;
168-
163+ const node = getNodeFromPointer ( schemaNodes [ toAbsoluteIri ( schemaLocation ) ] , pointer ) ;
169164 const locRange = this . #positionToRange( node . position ) ;
170165
171- // Create statement
172- fileCoverage . statementMap [ schemaLocation ] = locRange ;
173- fileCoverage . s [ schemaLocation ] = 0 ;
174-
175166 // Create function
176167 fileCoverage . fnMap [ schemaLocation ] = {
177168 name : schemaLocation ,
178- decl : declRange ,
169+ decl : locRange ,
179170 loc : locRange ,
180171 line : node . position . start . line
181172 } ;
0 commit comments