Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CLJS-3239: Infinite analysis with dotted symbols
The analysis change for dotted symbols revealed a bug with import parsing. `(:import goog)` would result in `:imports {goog goog}` in the ns analysis map. Then when resolving a symbol like `goog.debug.Console`, the analyzer would go into an infinite loop. This loop was in the `:import` branch of resolve-var. This is because the expectation is that the value side of `:imports` map is *different*. But in this case, `{goog goog}`, it is not different, so the analyzer would get stuck. Notably, `(:import [goog])` doesn't have this problem. Make `(:import goog)` match `(:import [goog])`
- Loading branch information