FileIndexingState (IndexedFileImpl indexedFile, int inputId, ID<?, ?> indexId, UnindexedFileStatusBuilder fileStatusBuilder) { // quick path: shared indexes do not have data for contentless indexes if (!myFileBasedIndex.needsFileContentLoading(indexId)) return FileIndexingState.UP_TO_DATE; long nowTime = System.nanoTime(); try { FileIndexingState ret = FileIndexingState.UP_TO_DATE; for (FileBasedIndexInfrastructureExtension.FileIndexingStatusProcessor p : myStateProcessors) { if (!p.processUpToDateFile(indexedFile, inputId, indexId)) { fileStatusBuilder.indexInfrastructureExtensionInvalidated = true; } } if (fileStatusBuilder.indexInfrastructureExtensionInvalidated) { ret = myFileBasedIndex.getIndexingState(indexedFile, indexId); } return ret; } finally { fileStatusBuilder.timeProcessingUpToDateFiles += (System.nanoTime() - nowTime); } }