Lines Matching full:span

167         /// Any interpolated tokens preserve the `Span` information provided by their
169 /// invocation are spanned with [`Span::call_site()`].
171 /// [`Span::call_site()`]: proc_macro2::Span::call_site
173 /// A different span can be provided through the [`quote_spanned!`] macro.
278 /// # use proc_macro2::{self as syn, Span};
281 /// # let ident = syn::Ident::new("i", Span::call_site());
295 /// # use proc_macro2::{Ident, Span};
298 /// # let ident = Ident::new("i", Span::call_site());
312 /// # use proc_macro2::{self as syn, Span};
315 /// # let ident = syn::Ident::new("i", Span::call_site());
318 /// let varname = syn::Ident::new(&concatenated, ident.span());
402 /// # use proc_macro2::{Ident, Span};
409 /// # let ident = Ident::new("var", Span::call_site());
530 /// Same as `quote!`, but applies a given span to all tokens originating within
537 /// A span expression of type [`Span`], followed by `=>`, followed by the tokens
538 /// to quote. The span expression should be brief — use a variable for
542 /// [`Span`]: proc_macro2::Span
545 /// # use proc_macro2::Span;
549 /// let span = /* ... */;
551 /// # let span = Span::call_site();
555 /// let tokens = quote_spanned!(span=> Box::into_raw(Box::new(#init)));
557 /// // On multiple lines, place the span at the top and use braces.
558 /// let tokens = quote_spanned! {span=>
565 /// off-balance and draw the eye a particular way, due to the span expression
573 /// Any interpolated tokens preserve the `Span` information provided by their
575 /// invocation are spanned with the given span argument.
587 /// # use proc_macro2::{Span, TokenStream};
592 /// # fn span(&self) -> Span {
593 /// # Span::call_site()
602 /// # let call_site = Span::call_site();
604 /// let ty_span = ty.span();
611 /// input span of their type is highlighted in the error.
632 ($span:expr=> $($tt:tt)*) => {
642 ($span:expr=>) => {{
643 let _: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
648 ($span:expr=> $tt:tt) => {{
650 let _span: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
656 ($span:expr=> # $var:ident) => {{
658 let _: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
662 ($span:expr=> $tt1:tt $tt2:tt) => {{
664 let _span: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
671 ($span:expr=> $($tt:tt)*) => {{
673 let _span: $crate::__private::Span = $crate::__private::get_span($span).__into_span();
839 ($tokens:ident $span:ident $($tts:tt)*) => {
840 $crate::quote_tokens_with_context_spanned!{$tokens $span
871 ($tokens:ident $span:ident
877 $crate::quote_token_with_context_spanned!{$tokens $span $b3 $b2 $b1 $curr $a1 $a2 $a3}
959 ($tokens:ident $span:ident $b3:tt $b2:tt $b1:tt @ $a1:tt $a2:tt $a3:tt) => {};
961 ($tokens:ident $span:ident $b3:tt $b2:tt $b1:tt (#) ( $($inner:tt)* ) * $a3:tt) => {{
968 $crate::quote_each_token_spanned!{$tokens $span $($inner)*}
971 ($tokens:ident $span:ident $b3:tt $b2:tt # (( $($inner:tt)* )) * $a2:tt $a3:tt) => {};
972 ($tokens:ident $span:ident $b3:tt # ( $($inner:tt)* ) (*) $a1:tt $a2:tt $a3:tt) => {};
974 ($tokens:ident $span:ident $b3:tt $b2:tt $b1:tt (#) ( $($inner:tt)* ) $sep:tt *) => {{
983 $crate::quote_token_spanned!{$sep $tokens $span}
986 $crate::quote_each_token_spanned!{$tokens $span $($inner)*}
989 ($tokens:ident $span:ident $b3:tt $b2:tt # (( $($inner:tt)* )) $sep:tt * $a3:tt) => {};
990 ($tokens:ident $span:ident $b3:tt # ( $($inner:tt)* ) ($sep:tt) * $a2:tt $a3:tt) => {};
991 ($tokens:ident $span:ident # ( $($inner:tt)* ) * (*) $a1:tt $a2:tt $a3:tt) => {
993 $crate::quote_token_spanned!{* $tokens $span}
995 ($tokens:ident $span:ident # ( $($inner:tt)* ) $sep:tt (*) $a1:tt $a2:tt $a3:tt) => {};
997 ($tokens:ident $span:ident $b3:tt $b2:tt $b1:tt (#) $var:ident $a2:tt $a3:tt) => {
1000 ($tokens:ident $span:ident $b3:tt $b2:tt # ($var:ident) $a1:tt $a2:tt $a3:tt) => {};
1002 ($tokens:ident $span:ident $b3:tt $b2:tt $b1:tt ($curr:tt) $a1:tt $a2:tt $a3:tt) => {
1003 $crate::quote_token_spanned!{$curr $tokens $span}
1238 ($ident:ident $tokens:ident $span:ident) => {
1239 $crate::__private::push_ident_spanned(&mut $tokens, $span, stringify!($ident));
1242 (:: $tokens:ident $span:ident) => {
1243 $crate::__private::push_colon2_spanned(&mut $tokens, $span);
1246 (( $($inner:tt)* ) $tokens:ident $span:ident) => {
1249 $span,
1251 $crate::quote_spanned!($span=> $($inner)*),
1255 ([ $($inner:tt)* ] $tokens:ident $span:ident) => {
1258 $span,
1260 $crate::quote_spanned!($span=> $($inner)*),
1264 ({ $($inner:tt)* } $tokens:ident $span:ident) => {
1267 $span,
1269 $crate::quote_spanned!($span=> $($inner)*),
1273 (# $tokens:ident $span:ident) => {
1274 $crate::__private::push_pound_spanned(&mut $tokens, $span);
1277 (, $tokens:ident $span:ident) => {
1278 $crate::__private::push_comma_spanned(&mut $tokens, $span);
1281 (. $tokens:ident $span:ident) => {
1282 $crate::__private::push_dot_spanned(&mut $tokens, $span);
1285 (; $tokens:ident $span:ident) => {
1286 $crate::__private::push_semi_spanned(&mut $tokens, $span);
1289 (: $tokens:ident $span:ident) => {
1290 $crate::__private::push_colon_spanned(&mut $tokens, $span);
1293 (+ $tokens:ident $span:ident) => {
1294 $crate::__private::push_add_spanned(&mut $tokens, $span);
1297 (+= $tokens:ident $span:ident) => {
1298 $crate::__private::push_add_eq_spanned(&mut $tokens, $span);
1301 (& $tokens:ident $span:ident) => {
1302 $crate::__private::push_and_spanned(&mut $tokens, $span);
1305 (&& $tokens:ident $span:ident) => {
1306 $crate::__private::push_and_and_spanned(&mut $tokens, $span);
1309 (&= $tokens:ident $span:ident) => {
1310 $crate::__private::push_and_eq_spanned(&mut $tokens, $span);
1313 (@ $tokens:ident $span:ident) => {
1314 $crate::__private::push_at_spanned(&mut $tokens, $span);
1317 (! $tokens:ident $span:ident) => {
1318 $crate::__private::push_bang_spanned(&mut $tokens, $span);
1321 (^ $tokens:ident $span:ident) => {
1322 $crate::__private::push_caret_spanned(&mut $tokens, $span);
1325 (^= $tokens:ident $span:ident) => {
1326 $crate::__private::push_caret_eq_spanned(&mut $tokens, $span);
1329 (/ $tokens:ident $span:ident) => {
1330 $crate::__private::push_div_spanned(&mut $tokens, $span);
1333 (/= $tokens:ident $span:ident) => {
1334 $crate::__private::push_div_eq_spanned(&mut $tokens, $span);
1337 (.. $tokens:ident $span:ident) => {
1338 $crate::__private::push_dot2_spanned(&mut $tokens, $span);
1341 (... $tokens:ident $span:ident) => {
1342 $crate::__private::push_dot3_spanned(&mut $tokens, $span);
1345 (..= $tokens:ident $span:ident) => {
1346 $crate::__private::push_dot_dot_eq_spanned(&mut $tokens, $span);
1349 (= $tokens:ident $span:ident) => {
1350 $crate::__private::push_eq_spanned(&mut $tokens, $span);
1353 (== $tokens:ident $span:ident) => {
1354 $crate::__private::push_eq_eq_spanned(&mut $tokens, $span);
1357 (>= $tokens:ident $span:ident) => {
1358 $crate::__private::push_ge_spanned(&mut $tokens, $span);
1361 (> $tokens:ident $span:ident) => {
1362 $crate::__private::push_gt_spanned(&mut $tokens, $span);
1365 (<= $tokens:ident $span:ident) => {
1366 $crate::__private::push_le_spanned(&mut $tokens, $span);
1369 (< $tokens:ident $span:ident) => {
1370 $crate::__private::push_lt_spanned(&mut $tokens, $span);
1373 (*= $tokens:ident $span:ident) => {
1374 $crate::__private::push_mul_eq_spanned(&mut $tokens, $span);
1377 (!= $tokens:ident $span:ident) => {
1378 $crate::__private::push_ne_spanned(&mut $tokens, $span);
1381 (| $tokens:ident $span:ident) => {
1382 $crate::__private::push_or_spanned(&mut $tokens, $span);
1385 (|= $tokens:ident $span:ident) => {
1386 $crate::__private::push_or_eq_spanned(&mut $tokens, $span);
1389 (|| $tokens:ident $span:ident) => {
1390 $crate::__private::push_or_or_spanned(&mut $tokens, $span);
1393 (? $tokens:ident $span:ident) => {
1394 $crate::__private::push_question_spanned(&mut $tokens, $span);
1397 (-> $tokens:ident $span:ident) => {
1398 $crate::__private::push_rarrow_spanned(&mut $tokens, $span);
1401 (<- $tokens:ident $span:ident) => {
1402 $crate::__private::push_larrow_spanned(&mut $tokens, $span);
1405 (% $tokens:ident $span:ident) => {
1406 $crate::__private::push_rem_spanned(&mut $tokens, $span);
1409 (%= $tokens:ident $span:ident) => {
1410 $crate::__private::push_rem_eq_spanned(&mut $tokens, $span);
1413 (=> $tokens:ident $span:ident) => {
1414 $crate::__private::push_fat_arrow_spanned(&mut $tokens, $span);
1417 (<< $tokens:ident $span:ident) => {
1418 $crate::__private::push_shl_spanned(&mut $tokens, $span);
1421 (<<= $tokens:ident $span:ident) => {
1422 $crate::__private::push_shl_eq_spanned(&mut $tokens, $span);
1425 (>> $tokens:ident $span:ident) => {
1426 $crate::__private::push_shr_spanned(&mut $tokens, $span);
1429 (>>= $tokens:ident $span:ident) => {
1430 $crate::__private::push_shr_eq_spanned(&mut $tokens, $span);
1433 (* $tokens:ident $span:ident) => {
1434 $crate::__private::push_star_spanned(&mut $tokens, $span);
1437 (- $tokens:ident $span:ident) => {
1438 $crate::__private::push_sub_spanned(&mut $tokens, $span);
1441 (-= $tokens:ident $span:ident) => {
1442 $crate::__private::push_sub_eq_spanned(&mut $tokens, $span);
1445 ($lifetime:lifetime $tokens:ident $span:ident) => {
1446 $crate::__private::push_lifetime_spanned(&mut $tokens, $span, stringify!($lifetime));
1449 (_ $tokens:ident $span:ident) => {
1450 $crate::__private::push_underscore_spanned(&mut $tokens, $span);
1453 ($other:tt $tokens:ident $span:ident) => {
1454 $crate::__private::parse_spanned(&mut $tokens, $span, stringify!($other));