Introduce a separate property to debug prebuilt indices

This commit is contained in:
Dmitry Trofimov
2017-10-12 19:25:02 +02:00
parent f8e5f809d4
commit 70ee4d2d60
3 changed files with 7 additions and 3 deletions
@@ -10,6 +10,7 @@ import com.intellij.openapi.util.registry.Registry
import com.intellij.psi.stubs.FileContentHashing
import com.intellij.psi.stubs.HashCodeDescriptor
import com.intellij.psi.stubs.PrebuiltStubsProviderBase
import com.intellij.util.SystemProperties
import com.intellij.util.indexing.FileContent
import com.intellij.util.indexing.IndexInfrastructure
import com.intellij.util.io.DataExternalizer
@@ -31,6 +32,9 @@ abstract class PrebuiltIndexProviderBase<Value> : Disposable {
companion object {
private val LOG = Logger.getInstance("#com.intellij.index.PrebuiltIndexProviderBase")
@JvmField
val DEBUG_PREBUILT_INDICES = SystemProperties.getBooleanProperty("debug.prebuilt.indices", false)
}
init {
@@ -5,7 +5,6 @@ import com.intellij.openapi.diagnostic.Logger
import com.intellij.psi.impl.cache.impl.id.IdIndexEntry
import com.intellij.psi.impl.cache.impl.id.LexingIdIndexer
import com.intellij.util.indexing.FileContent
import com.intellij.util.indexing.impl.DebugAssertions
import com.intellij.util.io.DataExternalizer
import com.intellij.util.io.DataInputOutputUtil
import java.io.DataInput
@@ -28,7 +27,7 @@ abstract class PrebuiltIndexAwareIdIndexer : PrebuiltIndexProviderBase<Map<IdInd
override fun map(inputData: FileContent): Map<IdIndexEntry, Int> {
val map = get(inputData)
return if (map != null) {
if (DebugAssertions.DEBUG) {
if (DEBUG_PREBUILT_INDICES) {
if (map != idIndexMap(inputData)) {
LOG.error("Prebuilt id index differs from actual value for ${inputData.file.path}")
}
@@ -15,6 +15,7 @@
*/
package com.intellij.psi.stubs;
import com.intellij.index.PrebuiltIndexProviderBase;
import com.intellij.lang.Language;
import com.intellij.lang.LanguageParserDefinitions;
import com.intellij.lang.ParserDefinition;
@@ -217,7 +218,7 @@ public class StubUpdatingIndex extends CustomImplementationFileBasedIndexExtensi
PrebuiltStubsProviders.INSTANCE.forFileType(inputData.getFileType());
if (prebuiltStubsProvider != null) {
rootStub = prebuiltStubsProvider.findStub(inputData);
if (DebugAssertions.DEBUG) {
if (PrebuiltIndexProviderBase.DEBUG_PREBUILT_INDICES) {
Stub stub = StubTreeBuilder.buildStubTree(inputData);
if (rootStub != null && stub != null) {
check(rootStub, stub);