diff options
Diffstat (limited to 'crates/ra_proc_macro_srv/src')
-rw-r--r-- | crates/ra_proc_macro_srv/src/dylib.rs | 6 | ||||
-rw-r--r-- | crates/ra_proc_macro_srv/src/lib.rs | 2 | ||||
-rw-r--r-- | crates/ra_proc_macro_srv/src/rustc_server.rs | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/crates/ra_proc_macro_srv/src/dylib.rs b/crates/ra_proc_macro_srv/src/dylib.rs index 1addbbd54..9b6cc91ef 100644 --- a/crates/ra_proc_macro_srv/src/dylib.rs +++ b/crates/ra_proc_macro_srv/src/dylib.rs | |||
@@ -128,9 +128,9 @@ impl Expander { | |||
128 | pub fn expand( | 128 | pub fn expand( |
129 | &self, | 129 | &self, |
130 | macro_name: &str, | 130 | macro_name: &str, |
131 | macro_body: &ra_tt::Subtree, | 131 | macro_body: &tt::Subtree, |
132 | attributes: Option<&ra_tt::Subtree>, | 132 | attributes: Option<&tt::Subtree>, |
133 | ) -> Result<ra_tt::Subtree, bridge::PanicMessage> { | 133 | ) -> Result<tt::Subtree, bridge::PanicMessage> { |
134 | let parsed_body = TokenStream::with_subtree(macro_body.clone()); | 134 | let parsed_body = TokenStream::with_subtree(macro_body.clone()); |
135 | 135 | ||
136 | let parsed_attributes = attributes | 136 | let parsed_attributes = attributes |
diff --git a/crates/ra_proc_macro_srv/src/lib.rs b/crates/ra_proc_macro_srv/src/lib.rs index 922bb84bb..1fc2eef82 100644 --- a/crates/ra_proc_macro_srv/src/lib.rs +++ b/crates/ra_proc_macro_srv/src/lib.rs | |||
@@ -5,7 +5,7 @@ | |||
5 | //! | 5 | //! |
6 | //! But we adapt it to better fit RA needs: | 6 | //! But we adapt it to better fit RA needs: |
7 | //! | 7 | //! |
8 | //! * We use `ra_tt` for proc-macro `TokenStream` server, it is easier to manipulate and interact with | 8 | //! * We use `tt` for proc-macro `TokenStream` server, it is easier to manipulate and interact with |
9 | //! RA than `proc-macro2` token stream. | 9 | //! RA than `proc-macro2` token stream. |
10 | //! * By **copying** the whole rustc `lib_proc_macro` code, we are able to build this with `stable` | 10 | //! * By **copying** the whole rustc `lib_proc_macro` code, we are able to build this with `stable` |
11 | //! rustc rather than `unstable`. (Although in gerenal ABI compatibility is still an issue) | 11 | //! rustc rather than `unstable`. (Although in gerenal ABI compatibility is still an issue) |
diff --git a/crates/ra_proc_macro_srv/src/rustc_server.rs b/crates/ra_proc_macro_srv/src/rustc_server.rs index cc32d5a6d..d534d1337 100644 --- a/crates/ra_proc_macro_srv/src/rustc_server.rs +++ b/crates/ra_proc_macro_srv/src/rustc_server.rs | |||
@@ -1,15 +1,14 @@ | |||
1 | //! Rustc proc-macro server implementation with ra_tt | 1 | //! Rustc proc-macro server implementation with tt |
2 | //! | 2 | //! |
3 | //! Based on idea from https://github.com/fedochet/rust-proc-macro-expander | 3 | //! Based on idea from https://github.com/fedochet/rust-proc-macro-expander |
4 | //! The lib-proc-macro server backend is `TokenStream`-agnostic, such that | 4 | //! The lib-proc-macro server backend is `TokenStream`-agnostic, such that |
5 | //! we could provide any TokenStream implementation. | 5 | //! we could provide any TokenStream implementation. |
6 | //! The original idea from fedochet is using proc-macro2 as backend, | 6 | //! The original idea from fedochet is using proc-macro2 as backend, |
7 | //! we use ra_tt instead for better intergation with RA. | 7 | //! we use tt instead for better intergation with RA. |
8 | //! | 8 | //! |
9 | //! FIXME: No span and source file information is implemented yet | 9 | //! FIXME: No span and source file information is implemented yet |
10 | 10 | ||
11 | use crate::proc_macro::bridge::{self, server}; | 11 | use crate::proc_macro::bridge::{self, server}; |
12 | use ra_tt as tt; | ||
13 | 12 | ||
14 | use std::collections::{Bound, HashMap}; | 13 | use std::collections::{Bound, HashMap}; |
15 | use std::hash::Hash; | 14 | use std::hash::Hash; |
@@ -153,9 +152,10 @@ pub struct TokenStreamBuilder { | |||
153 | 152 | ||
154 | /// Public implementation details for the `TokenStream` type, such as iterators. | 153 | /// Public implementation details for the `TokenStream` type, such as iterators. |
155 | pub mod token_stream { | 154 | pub mod token_stream { |
156 | use super::{tt, TokenStream, TokenTree}; | ||
157 | use std::str::FromStr; | 155 | use std::str::FromStr; |
158 | 156 | ||
157 | use super::{TokenStream, TokenTree}; | ||
158 | |||
159 | /// An iterator over `TokenStream`'s `TokenTree`s. | 159 | /// An iterator over `TokenStream`'s `TokenTree`s. |
160 | /// The iteration is "shallow", e.g., the iterator doesn't recurse into delimited groups, | 160 | /// The iteration is "shallow", e.g., the iterator doesn't recurse into delimited groups, |
161 | /// and returns whole groups as token trees. | 161 | /// and returns whole groups as token trees. |