[][src]Trait ra_ap_hir_def::item_tree::ItemTreeNode

pub trait ItemTreeNode: Clone {
    type Source: AstNode + Into<Item>;
    fn ast_id(&self) -> FileAstId<Self::Source>;
fn lookup(tree: &ItemTree, index: Idx<Self>) -> &Self;
fn id_from_mod_item(mod_item: ModItem) -> Option<FileItemTreeId<Self>>;
fn id_to_mod_item(id: FileItemTreeId<Self>) -> ModItem; }

Trait implemented by all item nodes in the item tree.

Associated Types

Loading content...

Required methods

fn ast_id(&self) -> FileAstId<Self::Source>

fn lookup(tree: &ItemTree, index: Idx<Self>) -> &Self

Looks up an instance of Self in an item tree.

fn id_from_mod_item(mod_item: ModItem) -> Option<FileItemTreeId<Self>>

Downcasts a ModItem to a FileItemTreeId specific to this type.

fn id_to_mod_item(id: FileItemTreeId<Self>) -> ModItem

Upcasts a FileItemTreeId to a generic ModItem.

Loading content...

Implementors

impl ItemTreeNode for Const[src]

type Source = Const

impl ItemTreeNode for Enum[src]

type Source = Enum

impl ItemTreeNode for ExternCrate[src]

type Source = ExternCrate

impl ItemTreeNode for Function[src]

type Source = Fn

impl ItemTreeNode for Impl[src]

type Source = Impl

impl ItemTreeNode for Import[src]

type Source = Use

impl ItemTreeNode for MacroCall[src]

type Source = MacroCall

impl ItemTreeNode for Mod[src]

type Source = Module

impl ItemTreeNode for Static[src]

type Source = Static

impl ItemTreeNode for Struct[src]

type Source = Struct

impl ItemTreeNode for Trait[src]

type Source = Trait

impl ItemTreeNode for TypeAlias[src]

type Source = TypeAlias

impl ItemTreeNode for Union[src]

type Source = Union

Loading content...