Initial indexed resolve changes
Added simple resolve metrics
Merge branch 'resolve-changes' into metrics
1. Add stub switching alert to resolve performance tests
2. Added isClassDefinition to NS stub and use from File.isClassDefinition
3. Modify ClojureClassFinder to use NS rather than file
4. Misc test fixes
1. Use indexed lookups to resolve method calls.
2. Remove create-ns PSI element.
1. Use indexed lookups for java.lang classes
2. Add metrics for children in current file
1. Rework symbol resolution
2. Optimise MyClSyntheticNamespace resolution
3. Optimise ClojureFileImpl resolution
Faster getNs for elements
1. Improve navigation to namespaces (ensure that we navigate to the declaration, not in-ns forms)
2. Cache namespace elements per file in sorted structure
3. Slightly improve alias lookup (only parse quoted forms in require, not :require)
1. Make ClSymbol implement Named, allowing (name sym) and (namespace sym)
2. Re-work symbol resolution to separate by scope
Separate clojure.core specific implementations from resolution infrastructure
Add type interrogation methods to PSI API, and replace old usages in project
Fix completion after resolve fixes
Implement NS resolution in Clojure
1. Migrate symbol resolution to Clojure.
2. Better (but still incomplete) support for inner classes.
Remove definline debugging.
1. Fix lexer bug with constructor forms.
2. Better annotator support for inner classes.
3. Better annotator support for importing fully-qualified classes from constructor calls.
4. Fix annoying rename resolution bug.
5. Put Clojure REPL actions in folder in Tools menu.
6. Fix minor resolution bugs.
1. Create application namespace with functions based on IntelliJ Application class.
2. Remove metrics dialog.
Refactor destructuring support to more cleanly support :or parameters
1. Generalise symbol-based resolution to things other than lists (files)
2. Migrate file resolution to symbol-based resolution.
3. Add new scope for imported classes.
4. Modify tree walk to allow searches for imported classes and aliases.
5. Only offer quick fixes in annotator if file is writable.
6. Add tests for symbol resolution.
7. Add read locks for resolve profiling.