aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/call_info.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix completion of HashMap::newFlorian Diebold2020-03-131-0/+14
| | | | | | | | | | | | | | | The `ty` function in code_model returned the type with placeholders for type parameters. That's nice for printing, but not good for completion, because placeholders won't unify with anything else: So the type we got for `HashMap` was `HashMap<K, V, T>`, which doesn't unify with `HashMap<?, ?, RandomState>`, so the `new` method wasn't shown. Now we instead return `HashMap<{unknown}, {unknown}, {unknown}>`, which does unify with the impl type. Maybe we should just expose this properly as variables though, i.e. we'd return something like `exists<type, type, type> HashMap<?0, ?1, ?2>` (in Chalk notation). It'll make the API more complicated, but harder to misuse. (And it would handle cases like `type TypeAlias<T> = HashMap<T, T>` more correctly.)
* Basic injectionsAleksey Kladov2020-02-271-9/+25
|
* Refactor primary IDE APIAleksey Kladov2020-02-261-14/+13
| | | | | | | | | | This introduces the new type -- Semantics. Semantics maps SyntaxNodes to various semantic info, such as type, name resolution or macro expansions. To do so, Semantics maintains a HashMap which maps every node it saw to the file from which the node originated. This is enough to get all the necessary hir bits just from syntax.
* More manual clippy fixesKirill Bulatov2020-02-181-1/+1
|
* cleanup importsAleksey Kladov2020-02-061-4/+2
|
* Readabilitykjeremy2020-01-131-5/+5
|
* Some clippy lintskjeremy2020-01-131-28/+31
|
* Implement proposed CallHierarchy featureJeremy Kolb2020-01-081-2/+13
| | | | See: https://github.com/microsoft/vscode-languageserver-node/blob/master/protocol/src/protocol.callHierarchy.proposed.ts
* cargo fmtJeremy Kolb2019-12-181-1/+3
|
* Pass testJeremy Kolb2019-12-181-1/+1
|
* WIP: See through Macros for SignatureHelpkjeremy2019-12-181-9/+30
| | | | | | | | | Note: we meed to skip the trivia filter to make sure that `covers!(call_info_bad_offset)` succeeds otherwise we exit call_info too early. Also the test doesn't pass: `FnCallNode::with_node` always detects a MacroCall.
* Rename Source -> InFileAleksey Kladov2019-11-281-1/+1
|
* rename ra_ide_api -> ra_ideAleksey Kladov2019-11-271-0/+592