pub struct NodeInfo {
pub loc: SourceLocation,
pub macro_expansion: Option<Box<MacroExpansionInfo>>,
}Expand description
ASTノードの共通メタデータ
ソース位置とオプションのマクロ展開情報を保持する。
Phase 5 で各ASTノードの loc: SourceLocation を info: NodeInfo に置き換える。
Fields§
§loc: SourceLocationソース位置
macro_expansion: Option<Box<MacroExpansionInfo>>マクロ展開情報(マクロ展開由来の場合のみ Some)
Implementations§
Source§impl NodeInfo
impl NodeInfo
Sourcepub fn new(loc: SourceLocation) -> Self
pub fn new(loc: SourceLocation) -> Self
新しいNodeInfoを作成(マクロ情報なし)
Sourcepub fn with_macro_info(
loc: SourceLocation,
macro_info: MacroExpansionInfo,
) -> Self
pub fn with_macro_info( loc: SourceLocation, macro_info: MacroExpansionInfo, ) -> Self
マクロ情報付きのNodeInfoを作成
マクロ情報が空の場合は None として保存する。
Sourcepub fn is_from_macro(&self) -> bool
pub fn is_from_macro(&self) -> bool
マクロ展開由来かどうか
Sourcepub fn macro_info(&self) -> Option<&MacroExpansionInfo>
pub fn macro_info(&self) -> Option<&MacroExpansionInfo>
マクロ展開情報への参照を取得
Trait Implementations§
impl StructuralPartialEq for NodeInfo
Auto Trait Implementations§
impl Freeze for NodeInfo
impl RefUnwindSafe for NodeInfo
impl Send for NodeInfo
impl Sync for NodeInfo
impl Unpin for NodeInfo
impl UnsafeUnpin for NodeInfo
impl UnwindSafe for NodeInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more