Skip to content

Commit 91049bc

Browse files
bors[bot]burrbull
andauthored
Merge #364
364: Newsyn r=therealprof a=burrbull r? @therealprof New `syn`, `quote` and `proc_macro2`. Co-authored-by: Andrey Zgarbul <[email protected]>
2 parents 27e3d3f + 8759ff0 commit 91049bc

File tree

7 files changed

+174
-241
lines changed

7 files changed

+174
-241
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1515

1616
- Improve field enum docs
1717

18+
### Changed
19+
20+
- Bump dependencies: `syn`, `quote` and `proc_macro2` v1.0.
21+
1822
## [v0.16.0] - 2019-08-05
1923

2024
### Added

Cargo.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ env_logger = "~0.5"
3838
error-chain = "0.11.0"
3939
inflections = "1.1.0"
4040
log = { version = "~0.4", features = ["std"] }
41-
quote = "0.3.15"
41+
quote = "1.0"
4242
svd-parser = "0.7"
43+
proc-macro2 = "1.0"
4344

4445
[dependencies.syn]
45-
version = "0.11.11"
46-
features = ["full"]
46+
version = "1.0"
47+
features = ["full","extra-traits"]

src/generate/device.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
use quote::{Tokens, ToTokens};
1+
use quote::ToTokens;
2+
use proc_macro2::{TokenStream, Ident, Span};
23
use std::fs::File;
34
use std::io::Write;
45
use crate::svd::Device;
5-
use syn::Ident;
66

77
use crate::errors::*;
88
use crate::util::{self, ToSanitizedUpperCase};
@@ -17,7 +17,7 @@ pub fn render(
1717
nightly: bool,
1818
generic_mod: bool,
1919
device_x: &mut String,
20-
) -> Result<Vec<Tokens>> {
20+
) -> Result<Vec<TokenStream>> {
2121
let mut out = vec![];
2222

2323
let doc = format!(
@@ -143,8 +143,7 @@ pub fn render(
143143
if generic_mod {
144144
writeln!(File::create("generic.rs").unwrap(), "{}", generic_file).unwrap();
145145
} else {
146-
let mut tokens = Tokens::new();
147-
(syn::parse_crate(generic_file)?).to_tokens(&mut tokens);
146+
let tokens = syn::parse_file(generic_file).unwrap().into_token_stream();
148147

149148
out.push(quote! {
150149
#[allow(unused_imports)]
@@ -177,18 +176,19 @@ pub fn render(
177176
}
178177

179178
let p = p.name.to_sanitized_upper_case();
180-
let id = Ident::from(&*p);
179+
let id = Ident::new(&p, Span::call_site());
181180
fields.push(quote! {
182181
#[doc = #p]
183182
pub #id: #id
184183
});
185184
exprs.push(quote!(#id: #id { _marker: PhantomData }));
186185
}
187186

187+
let span = Span::call_site();
188188
let take = match target {
189-
Target::CortexM => Some(Ident::from("cortex_m")),
190-
Target::Msp430 => Some(Ident::from("msp430")),
191-
Target::RISCV => Some(Ident::from("riscv")),
189+
Target::CortexM => Some(Ident::new("cortex_m", span)),
190+
Target::Msp430 => Some(Ident::new("msp430", span)),
191+
Target::RISCV => Some(Ident::new("riscv", span)),
192192
Target::None => None,
193193
}
194194
.map(|krate| {

src/generate/interrupt.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ use std::collections::HashMap;
22
use std::fmt::Write;
33

44
use cast::u64;
5-
use quote::Tokens;
5+
use proc_macro2::{TokenStream, Ident, Span};
66
use crate::svd::Peripheral;
7-
use syn::Ident;
87

98
use crate::errors::*;
109
use crate::util::{self, ToSanitizedUpperCase};
@@ -15,7 +14,7 @@ pub fn render(
1514
target: Target,
1615
peripherals: &[Peripheral],
1716
device_x: &mut String,
18-
) -> Result<Vec<Tokens>> {
17+
) -> Result<Vec<TokenStream>> {
1918
let interrupts = peripherals
2019
.iter()
2120
.flat_map(|p| p.interrupt.iter())
@@ -42,7 +41,7 @@ pub fn render(
4241
}
4342
pos += 1;
4443

45-
let name_uc = Ident::from(interrupt.name.to_sanitized_upper_case());
44+
let name_uc = Ident::new(&interrupt.name.to_sanitized_upper_case(), Span::call_site());
4645
let description = format!(
4746
"{} - {}",
4847
interrupt.value,

0 commit comments

Comments
 (0)