about summary refs log tree commit diff
path: root/src/libsyntax_ext
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2018-03-19 22:44:24 +0200
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2018-11-30 06:15:19 +0200
commit38fee305dac49529f5a469a231efb99b97fa3beb (patch)
tree019d63c82efe3b642e1f3a9e0242cd5936ce1e32 /src/libsyntax_ext
parente305994beb1347e2fcadf5c84acec60fb6902551 (diff)
downloadrust-38fee305dac49529f5a469a231efb99b97fa3beb.tar.gz
rust-38fee305dac49529f5a469a231efb99b97fa3beb.zip
proc_macro: remove the __internal module.
Diffstat (limited to 'src/libsyntax_ext')
-rw-r--r--src/libsyntax_ext/deriving/custom.rs12
-rw-r--r--src/libsyntax_ext/proc_macro_impl.rs16
2 files changed, 9 insertions, 19 deletions
diff --git a/src/libsyntax_ext/deriving/custom.rs b/src/libsyntax_ext/deriving/custom.rs
index 76826dd93e7..2767cb55177 100644
--- a/src/libsyntax_ext/deriving/custom.rs
+++ b/src/libsyntax_ext/deriving/custom.rs
@@ -77,12 +77,9 @@ impl MultiItemModifier for ProcMacroDerive {
         let item = ecx.resolver.eliminate_crate_var(item);
         let token = Token::interpolated(token::NtItem(item));
         let input = tokenstream::TokenTree::Token(DUMMY_SP, token).into();
-        let server = ::proc_macro::rustc::Rustc;
-        let res = ::proc_macro::__internal::set_sess(ecx, || {
-            self.client.run(&EXEC_STRATEGY, server, input)
-        });
 
-        let stream = match res {
+        let server = ::proc_macro::rustc::Rustc::new(ecx);
+        let stream = match self.client.run(&EXEC_STRATEGY, server, input) {
             Ok(stream) => stream,
             Err(e) => {
                 let msg = "proc-macro derive panicked";
@@ -103,13 +100,14 @@ impl MultiItemModifier for ProcMacroDerive {
         let mut items = vec![];
 
         loop {
-            match parser.parse_item().map_err(::proc_macro::__internal::parse_to_lex_err) {
+            match parser.parse_item() {
                 Ok(None) => break,
                 Ok(Some(item)) => {
                     items.push(Annotatable::Item(item))
                 }
-                Err(_) => {
+                Err(mut err) => {
                     // FIXME: handle this better
+                    err.cancel();
                     ecx.struct_span_fatal(span, msg).emit();
                     FatalError.raise();
                 }
diff --git a/src/libsyntax_ext/proc_macro_impl.rs b/src/libsyntax_ext/proc_macro_impl.rs
index 1f111dfcaf9..9510c12ecdf 100644
--- a/src/libsyntax_ext/proc_macro_impl.rs
+++ b/src/libsyntax_ext/proc_macro_impl.rs
@@ -32,12 +32,8 @@ impl base::AttrProcMacro for AttrProcMacro {
                    annotation: TokenStream,
                    annotated: TokenStream)
                    -> TokenStream {
-        let server = ::proc_macro::rustc::Rustc;
-        let res = ::proc_macro::__internal::set_sess(ecx, || {
-            self.client.run(&EXEC_STRATEGY, server, annotation, annotated)
-        });
-
-        match res {
+        let server = ::proc_macro::rustc::Rustc::new(ecx);
+        match self.client.run(&EXEC_STRATEGY, server, annotation, annotated) {
             Ok(stream) => stream,
             Err(e) => {
                 let msg = "custom attribute panicked";
@@ -65,12 +61,8 @@ impl base::ProcMacro for BangProcMacro {
                    span: Span,
                    input: TokenStream)
                    -> TokenStream {
-        let server = ::proc_macro::rustc::Rustc;
-        let res = ::proc_macro::__internal::set_sess(ecx, || {
-            self.client.run(&EXEC_STRATEGY, server, input)
-        });
-
-        match res {
+        let server = ::proc_macro::rustc::Rustc::new(ecx);
+        match self.client.run(&EXEC_STRATEGY, server, input) {
             Ok(stream) => stream,
             Err(e) => {
                 let msg = "proc macro panicked";