aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_proc_macro_srv/src
diff options
context:
space:
mode:
authorBenjamin Coenen <[email protected]>2020-04-09 08:39:17 +0100
committerBenjamin Coenen <[email protected]>2020-04-09 08:53:53 +0100
commit585bb83e2aec9c79dae8c2e031e9165f40937003 (patch)
tree3dda062f3deb768b211e7e091dd5b29b9b6fae84 /crates/ra_proc_macro_srv/src
parent8f1dba6f9ae1d8d314dd9d007e4c582ed1403e8d (diff)
parent080c983498afcac3eb54028af5c9f8bfe7f2c826 (diff)
feat: add attributes support on struct fields and method #3870
Signed-off-by: Benjamin Coenen <[email protected]>
Diffstat (limited to 'crates/ra_proc_macro_srv/src')
-rw-r--r--crates/ra_proc_macro_srv/src/proc_macro/diagnostic.rs8
-rw-r--r--crates/ra_proc_macro_srv/src/proc_macro/mod.rs4
2 files changed, 7 insertions, 5 deletions
diff --git a/crates/ra_proc_macro_srv/src/proc_macro/diagnostic.rs b/crates/ra_proc_macro_srv/src/proc_macro/diagnostic.rs
index 9029f8815..55d93917c 100644
--- a/crates/ra_proc_macro_srv/src/proc_macro/diagnostic.rs
+++ b/crates/ra_proc_macro_srv/src/proc_macro/diagnostic.rs
@@ -54,12 +54,14 @@ pub struct Diagnostic {
54} 54}
55 55
56macro_rules! diagnostic_child_methods { 56macro_rules! diagnostic_child_methods {
57 ($spanned:ident, $regular:ident, $level:expr) => ( 57 ($spanned:ident, $regular:ident, $level:expr) => {
58 /// Adds a new child diagnostic message to `self` with the level 58 /// Adds a new child diagnostic message to `self` with the level
59 /// identified by this method's name with the given `spans` and 59 /// identified by this method's name with the given `spans` and
60 /// `message`. 60 /// `message`.
61 pub fn $spanned<S, T>(mut self, spans: S, message: T) -> Diagnostic 61 pub fn $spanned<S, T>(mut self, spans: S, message: T) -> Diagnostic
62 where S: MultiSpan, T: Into<String> 62 where
63 S: MultiSpan,
64 T: Into<String>,
63 { 65 {
64 self.children.push(Diagnostic::spanned(spans, $level, message)); 66 self.children.push(Diagnostic::spanned(spans, $level, message));
65 self 67 self
@@ -71,7 +73,7 @@ macro_rules! diagnostic_child_methods {
71 self.children.push(Diagnostic::new($level, message)); 73 self.children.push(Diagnostic::new($level, message));
72 self 74 self
73 } 75 }
74 ) 76 };
75} 77}
76 78
77/// Iterator over the children diagnostics of a `Diagnostic`. 79/// Iterator over the children diagnostics of a `Diagnostic`.
diff --git a/crates/ra_proc_macro_srv/src/proc_macro/mod.rs b/crates/ra_proc_macro_srv/src/proc_macro/mod.rs
index e35a6ff8b..ee0dc9722 100644
--- a/crates/ra_proc_macro_srv/src/proc_macro/mod.rs
+++ b/crates/ra_proc_macro_srv/src/proc_macro/mod.rs
@@ -169,13 +169,13 @@ pub mod token_stream {
169pub struct Span(bridge::client::Span); 169pub struct Span(bridge::client::Span);
170 170
171macro_rules! diagnostic_method { 171macro_rules! diagnostic_method {
172 ($name:ident, $level:expr) => ( 172 ($name:ident, $level:expr) => {
173 /// Creates a new `Diagnostic` with the given `message` at the span 173 /// Creates a new `Diagnostic` with the given `message` at the span
174 /// `self`. 174 /// `self`.
175 pub fn $name<T: Into<String>>(self, message: T) -> Diagnostic { 175 pub fn $name<T: Into<String>>(self, message: T) -> Diagnostic {
176 Diagnostic::spanned(self, $level, message) 176 Diagnostic::spanned(self, $level, message)
177 } 177 }
178 ) 178 };
179} 179}
180 180
181impl Span { 181impl Span {