16a27d593c
Observations: - In case of !requiresPosition we don't need to track position - Also, in the latter case we don't need scopeKind (implicit contract) - There were a lot of LookupInfo instances having two references (fileName/scopeFqName) pointing to the same strings. Looks like in common case (reasonable amount of files/fqnames) it's more sensible to group lookups in the two-level-tree (implemented with nested maps) It's expected to decrease memory consumption up to 15M in case of compiling `idea` module in Kotlin project