Need information: Intellij Indexing - ChangeTrackingValueContainer and Java StubIndexes related

I am looking at intellij indexing and usage of computed index.
I could not clearly get what does contains.
FileBasedIndex:indexFileContent() is one of the core function which is responsible for indexing file content. For .java files corresponding StubIndexes will be built. I am trying to find out usage of this stub index. JavaFindUsagesHandler; JavaFindUsagesProvider etc seems to be functions which are triggering 'find' related methods. But, I couldnt trace to the exact code which queries stub indexes and gets the data.

Any pointers/help regarding this?


1 comment
Comment actions Permalink

Keyword to StubTree information is gathered through the following calls:
PersistentHashMap:get() converts keyword to 'ID' using tryEnumerate() method. Later gets start index of stub tree and size of stub tree for that ID using readValueID() [This gets the information from <IJ_HOME>/system/caches/stubs/Stub file]. This start index, size of stub tree refers to <IJ_HOME>/stubs/Stubs.values which contain stub tree data. This byte stream is later deserialized to stubtree.


Please sign in to leave a comment.