Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some notes about the implementation. I'm aware of this part of the README:
However, on the JVM we can use object references, and thus use as many maps as we need indexes, it's not like we would duplicate the data multiple times, so there is no need to store indices in the maps and keep the lists. The indirection is already what happens behind the scenes when accessing an object from the heap. This is why I directly build the maps at parsing time, and thus at request time the access to the data is very fast.
About Gradle files
Gradle is the build system used to build the Kotlin project. It has the concept of Gradle Wrapper which means storing a few files (
gradlew
,gradlew.bat
,gradle/wrapper/*
) so Gradle can automatically be downloaded in the correct version. Don't get scared by these files :)