()
| 330 | } |
| 331 | |
| 332 | private _isDirty(): boolean { |
| 333 | if (this._dirty) { |
| 334 | return true; |
| 335 | } |
| 336 | |
| 337 | // All sourceList is from the some upstream. |
| 338 | const upSourceMgrList = this._getUpstreamSourceManagers(); |
| 339 | for (let i = 0; i < upSourceMgrList.length; i++) { |
| 340 | const upSrcMgr = upSourceMgrList[i]; |
| 341 | if ( |
| 342 | // Consider the case that there is ancestor diry, call it recursively. |
| 343 | // The performance is probably not an issue because usually the chain is not long. |
| 344 | upSrcMgr._isDirty() |
| 345 | || this._upstreamSignList[i] !== upSrcMgr._getVersionSign() |
| 346 | ) { |
| 347 | return true; |
| 348 | } |
| 349 | } |
| 350 | } |
| 351 | |
| 352 | /** |
| 353 | * @param sourceIndex By default 0, means "main source". |
no test coverage detected