@@ -692,7 +692,7 @@ macro_rules! get_node {
692
692
Some ( SingleModuleGraphNode :: Module ( node) ) => :: anyhow:: Ok ( node) ,
693
693
Some ( SingleModuleGraphNode :: VisitedModule { idx, .. } ) => {
694
694
match $graphs[ idx. graph_idx] . graph. node_weight( idx. node_idx) {
695
- Some ( SingleModuleGraphNode :: Module ( node) ) => anyhow:: Ok ( node) ,
695
+ Some ( SingleModuleGraphNode :: Module ( node) ) => :: anyhow:: Ok ( node) ,
696
696
Some ( SingleModuleGraphNode :: VisitedModule { .. } ) => Err ( :: anyhow:: anyhow!(
697
697
"Expected visited target node to be module"
698
698
) ) ,
@@ -704,6 +704,28 @@ macro_rules! get_node {
704
704
} } ;
705
705
}
706
706
pub ( crate ) use get_node;
707
+ macro_rules! get_node_idx {
708
+ ( $graphs: expr, $node: expr) => { {
709
+ let node_idx = $node;
710
+ match $graphs[ node_idx. graph_idx]
711
+ . graph
712
+ . node_weight( node_idx. node_idx)
713
+ {
714
+ Some ( SingleModuleGraphNode :: Module ( node) ) => :: anyhow:: Ok ( ( node, node_idx) ) ,
715
+ Some ( SingleModuleGraphNode :: VisitedModule { idx, .. } ) => {
716
+ match $graphs[ idx. graph_idx] . graph. node_weight( idx. node_idx) {
717
+ Some ( SingleModuleGraphNode :: Module ( node) ) => :: anyhow:: Ok ( ( node, * idx) ) ,
718
+ Some ( SingleModuleGraphNode :: VisitedModule { .. } ) => Err ( :: anyhow:: anyhow!(
719
+ "Expected visited target node to be module"
720
+ ) ) ,
721
+ None => Err ( :: anyhow:: anyhow!( "Expected visited target node" ) ) ,
722
+ }
723
+ }
724
+ None => Err ( :: anyhow:: anyhow!( "Expected graph node" ) ) ,
725
+ }
726
+ } } ;
727
+ }
728
+ pub ( crate ) use get_node_idx;
707
729
708
730
impl ModuleGraph {
709
731
pub async fn get_graphs ( & self ) -> Result < Vec < ReadRef < SingleModuleGraph > > > {
0 commit comments