core.typed

Search for .cljc files when checking a namespace

Details

  • Patch:
    Code

Description

Currently core.typed assumes that Clojure files end with a .clj extension and ClojureScript files with .cljs. However, due to the introduction of reader conditionals to the language the .cljc extension is now valid for both Clojure and ClojureScript. core.typed should look for .cljc files in addition to .clj and .cljs.

The problem originates in the clojure.core.typed.coerce-utils namespace's ns->file function, since it hardcodes the .clj and .cljs extensions for finding Clojure and ClojureScript namespaces. When using this function from clojure.core.typed.analyze-clj namespace's ast-for-ns function it throws an exception.

Pull request: 58

Commits: 8dd3099 81aa140

Version: 0.3.12

Activity

Hide
Alejandro added a comment -

Since the current version of tools.analyzer.jvm that core.typed depends on doesn't support .cljc files the patch can't be applied yet.

Show
Alejandro added a comment - Since the current version of tools.analyzer.jvm that core.typed depends on doesn't support .cljc files the patch can't be applied yet.
Hide
Ambrose Bonnaire-Sergeant added a comment -

The latest tools.analyzer.jvm is inlined at clojure.core.typed.deps.clojure.tools.analyzer.jvm (see project.clj for the version).

Can this now move forward?

Show
Ambrose Bonnaire-Sergeant added a comment - The latest tools.analyzer.jvm is inlined at clojure.core.typed.deps.clojure.tools.analyzer.jvm (see project.clj for the version). Can this now move forward?
Hide
Brendan Tobolaski added a comment -

I see that there is a pull request for this on GitHub but it doesn't appear to have been merged onto master yet. Is this waiting on anything in particular?

Show
Brendan Tobolaski added a comment - I see that there is a pull request for this on GitHub but it doesn't appear to have been merged onto master yet. Is this waiting on anything in particular?
Hide
Ambrose Bonnaire-Sergeant added a comment -

I'd merge if there was a test.

Show
Ambrose Bonnaire-Sergeant added a comment - I'd merge if there was a test.
Hide
Piotr Jarzemski added a comment -

I created a basic set of unit tests for this issue (https://github.com/typedclojure/core.typed/pull/63). If that's not enough or if they aren't matching your requirements, please let me know.

Show
Piotr Jarzemski added a comment - I created a basic set of unit tests for this issue (https://github.com/typedclojure/core.typed/pull/63). If that's not enough or if they aren't matching your requirements, please let me know.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: