@@ -322,6 +322,7 @@ impl ExpnId {
322
322
323
323
/// `expn_id.outer_expn_is_descendant_of(ctxt)` is equivalent to but faster than
324
324
/// `expn_id.is_descendant_of(ctxt.outer_expn())`.
325
+ #[ inline]
325
326
pub fn outer_expn_is_descendant_of ( self , ctxt : SyntaxContext ) -> bool {
326
327
HygieneData :: with ( |data| data. is_descendant_of ( self , data. outer_expn ( ctxt) ) )
327
328
}
@@ -437,23 +438,28 @@ impl HygieneData {
437
438
}
438
439
}
439
440
441
+ #[ inline]
440
442
fn normalize_to_macros_2_0 ( & self , ctxt : SyntaxContext ) -> SyntaxContext {
441
443
self . syntax_context_data [ ctxt. 0 as usize ] . opaque
442
444
}
443
445
446
+ #[ inline]
444
447
fn normalize_to_macro_rules ( & self , ctxt : SyntaxContext ) -> SyntaxContext {
445
448
self . syntax_context_data [ ctxt. 0 as usize ] . opaque_and_semiopaque
446
449
}
447
450
451
+ #[ inline]
448
452
fn outer_expn ( & self , ctxt : SyntaxContext ) -> ExpnId {
449
453
self . syntax_context_data [ ctxt. 0 as usize ] . outer_expn
450
454
}
451
455
456
+ #[ inline]
452
457
fn outer_mark ( & self , ctxt : SyntaxContext ) -> ( ExpnId , Transparency ) {
453
458
let data = & self . syntax_context_data [ ctxt. 0 as usize ] ;
454
459
( data. outer_expn , data. outer_transparency )
455
460
}
456
461
462
+ #[ inline]
457
463
fn parent_ctxt ( & self , ctxt : SyntaxContext ) -> SyntaxContext {
458
464
self . syntax_context_data [ ctxt. 0 as usize ] . parent
459
465
}
@@ -718,11 +724,13 @@ impl SyntaxContext {
718
724
SyntaxContext ( raw as u32 )
719
725
}
720
726
727
+ #[ inline]
721
728
fn from_usize ( raw : usize ) -> SyntaxContext {
722
729
SyntaxContext ( u32:: try_from ( raw) . unwrap ( ) )
723
730
}
724
731
725
732
/// Extend a syntax context with a given expansion and transparency.
733
+ #[ inline]
726
734
pub fn apply_mark ( self , expn_id : ExpnId , transparency : Transparency ) -> SyntaxContext {
727
735
HygieneData :: with ( |data| data. apply_mark ( self , expn_id, transparency) )
728
736
}
@@ -743,10 +751,12 @@ impl SyntaxContext {
743
751
/// of g (call it g1), calling remove_mark will result in the SyntaxContext for the
744
752
/// invocation of f that created g1.
745
753
/// Returns the mark that was removed.
754
+ #[ inline]
746
755
pub fn remove_mark ( & mut self ) -> ExpnId {
747
756
HygieneData :: with ( |data| data. remove_mark ( self ) . 0 )
748
757
}
749
758
759
+ #[ inline]
750
760
pub fn marks ( self ) -> Vec < ( ExpnId , Transparency ) > {
751
761
HygieneData :: with ( |data| data. marks ( self ) )
752
762
}
@@ -776,11 +786,13 @@ impl SyntaxContext {
776
786
/// ```
777
787
/// This returns the expansion whose definition scope we use to privacy check the resolution,
778
788
/// or `None` if we privacy check as usual (i.e., not w.r.t. a macro definition scope).
789
+ #[ inline]
779
790
pub fn adjust ( & mut self , expn_id : ExpnId ) -> Option < ExpnId > {
780
791
HygieneData :: with ( |data| data. adjust ( self , expn_id) )
781
792
}
782
793
783
794
/// Like `SyntaxContext::adjust`, but also normalizes `self` to macros 2.0.
795
+ #[ inline]
784
796
pub ( crate ) fn normalize_to_macros_2_0_and_adjust ( & mut self , expn_id : ExpnId ) -> Option < ExpnId > {
785
797
HygieneData :: with ( |data| {
786
798
* self = data. normalize_to_macros_2_0 ( * self ) ;
@@ -901,10 +913,12 @@ impl SyntaxContext {
901
913
HygieneData :: with ( |data| data. outer_mark ( self ) )
902
914
}
903
915
916
+ #[ inline]
904
917
pub ( crate ) fn dollar_crate_name ( self ) -> Symbol {
905
918
HygieneData :: with ( |data| data. syntax_context_data [ self . 0 as usize ] . dollar_crate_name )
906
919
}
907
920
921
+ #[ inline]
908
922
pub fn edition ( self ) -> Edition {
909
923
HygieneData :: with ( |data| data. expn_data ( data. outer_expn ( self ) ) . edition )
910
924
}
0 commit comments