| OLD | NEW |
| 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** @typedef {{startOffset: number, endOffset: number, count: number}} */ | 5 /** @typedef {{startOffset: number, endOffset: number, count: number}} */ |
| 6 Coverage.RangeUseCount; | 6 Coverage.RangeUseCount; |
| 7 | 7 |
| 8 /** @typedef {{end: number, count: (number|undefined)}} */ | 8 /** @typedef {{end: number, count: (number|undefined)}} */ |
| 9 Coverage.CoverageSegment; | 9 Coverage.CoverageSegment; |
| 10 | 10 |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 } | 244 } |
| 245 | 245 |
| 246 /** | 246 /** |
| 247 * @return {number} | 247 * @return {number} |
| 248 */ | 248 */ |
| 249 usedSize() { | 249 usedSize() { |
| 250 return this._usedSize; | 250 return this._usedSize; |
| 251 } | 251 } |
| 252 | 252 |
| 253 /** | 253 /** |
| 254 * @return {!Promise<!Array<!{range: !Common.TextRange, count: number}>>} | 254 * @return {!Promise<!Array<!{range: !TextUtils.TextRange, count: number}>>} |
| 255 */ | 255 */ |
| 256 async buildTextRanges() { | 256 async buildTextRanges() { |
| 257 var textRangePromises = []; | 257 var textRangePromises = []; |
| 258 for (var coverageInfo of this._coverageInfoByLocation.values()) | 258 for (var coverageInfo of this._coverageInfoByLocation.values()) |
| 259 textRangePromises.push(coverageInfo.buildTextRanges()); | 259 textRangePromises.push(coverageInfo.buildTextRanges()); |
| 260 var allTextRanges = await Promise.all(textRangePromises); | 260 var allTextRanges = await Promise.all(textRangePromises); |
| 261 return [].concat(...allTextRanges); | 261 return [].concat(...allTextRanges); |
| 262 } | 262 } |
| 263 }; | 263 }; |
| 264 | 264 |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 } | 329 } |
| 330 | 330 |
| 331 for (; indexA < segmentsA.length; indexA++) | 331 for (; indexA < segmentsA.length; indexA++) |
| 332 result.push(segmentsA[indexA]); | 332 result.push(segmentsA[indexA]); |
| 333 for (; indexB < segmentsB.length; indexB++) | 333 for (; indexB < segmentsB.length; indexB++) |
| 334 result.push(segmentsB[indexB]); | 334 result.push(segmentsB[indexB]); |
| 335 return result; | 335 return result; |
| 336 } | 336 } |
| 337 | 337 |
| 338 /** | 338 /** |
| 339 * @return {!Promise<!Array<!{range: !Common.TextRange, count: number}>>} | 339 * @return {!Promise<!Array<!{range: !TextUtils.TextRange, count: number}>>} |
| 340 */ | 340 */ |
| 341 async buildTextRanges() { | 341 async buildTextRanges() { |
| 342 var contents = await this._contentProvider.requestContent(); | 342 var contents = await this._contentProvider.requestContent(); |
| 343 if (!contents) | 343 if (!contents) |
| 344 return []; | 344 return []; |
| 345 var text = new Common.Text(contents); | 345 var text = new TextUtils.Text(contents); |
| 346 var lastOffset = 0; | 346 var lastOffset = 0; |
| 347 var result = []; | 347 var result = []; |
| 348 for (var segment of this._segments) { | 348 for (var segment of this._segments) { |
| 349 if (!segment.end) | 349 if (!segment.end) |
| 350 continue; | 350 continue; |
| 351 var startPosition = text.positionFromOffset(lastOffset); | 351 var startPosition = text.positionFromOffset(lastOffset); |
| 352 var endPosition = text.positionFromOffset(segment.end); | 352 var endPosition = text.positionFromOffset(segment.end); |
| 353 if (!startPosition.lineNumber) | 353 if (!startPosition.lineNumber) |
| 354 startPosition.columnNumber += this._columnOffset; | 354 startPosition.columnNumber += this._columnOffset; |
| 355 startPosition.lineNumber += this._lineOffset; | 355 startPosition.lineNumber += this._lineOffset; |
| 356 if (!endPosition.lineNumber) | 356 if (!endPosition.lineNumber) |
| 357 endPosition.columnNumber += this._columnOffset; | 357 endPosition.columnNumber += this._columnOffset; |
| 358 endPosition.lineNumber += this._lineOffset; | 358 endPosition.lineNumber += this._lineOffset; |
| 359 var range = new Common.TextRange( | 359 var range = new TextUtils.TextRange( |
| 360 startPosition.lineNumber, startPosition.columnNumber, endPosition.line
Number, endPosition.columnNumber); | 360 startPosition.lineNumber, startPosition.columnNumber, endPosition.line
Number, endPosition.columnNumber); |
| 361 result.push({count: segment.count || 0, range: range}); | 361 result.push({count: segment.count || 0, range: range}); |
| 362 lastOffset = segment.end; | 362 lastOffset = segment.end; |
| 363 } | 363 } |
| 364 return result; | 364 return result; |
| 365 } | 365 } |
| 366 | 366 |
| 367 _updateStats() { | 367 _updateStats() { |
| 368 this._usedSize = 0; | 368 this._usedSize = 0; |
| 369 this._unusedSize = 0; | 369 this._unusedSize = 0; |
| 370 | 370 |
| 371 var last = 0; | 371 var last = 0; |
| 372 for (var segment of this._segments) { | 372 for (var segment of this._segments) { |
| 373 if (typeof segment.count === 'number') { | 373 if (typeof segment.count === 'number') { |
| 374 if (segment.count) | 374 if (segment.count) |
| 375 this._usedSize += segment.end - last; | 375 this._usedSize += segment.end - last; |
| 376 else | 376 else |
| 377 this._unusedSize += segment.end - last; | 377 this._unusedSize += segment.end - last; |
| 378 } | 378 } |
| 379 last = segment.end; | 379 last = segment.end; |
| 380 } | 380 } |
| 381 } | 381 } |
| 382 }; | 382 }; |
| OLD | NEW |