@@ -7,8 +7,8 @@ use syn::punctuated::Punctuated;
77use syn:: spanned:: Spanned ;
88use syn:: token:: { Comma , RArrow } ;
99use syn:: {
10- AttrStyle , Attribute , Error , Expr , ExprTuple , FnArg , GenericParam , Ident , ItemFn , Lit , LitFloat , LitInt , LitStr , Meta , Pat , PatIdent , PatType , Path , ReturnType , Type , TypeParam , WhereClause ,
11- parse_quote,
10+ AttrStyle , Attribute , Error , Expr , ExprTuple , FnArg , GenericParam , Ident , ItemFn , Lit , LitFloat , LitInt , LitStr , Meta , Pat , PatIdent , PatType , Path , ReturnType , Type , TypeParam , Visibility ,
11+ WhereClause , parse_quote,
1212} ;
1313
1414use crate :: codegen:: generate_node_code;
@@ -22,6 +22,7 @@ pub(crate) struct Implementation {
2222
2323#[ derive( Debug ) ]
2424pub ( crate ) struct ParsedNodeFn {
25+ pub ( crate ) vis : Visibility ,
2526 pub ( crate ) attributes : NodeFnAttributes ,
2627 pub ( crate ) fn_name : Ident ,
2728 pub ( crate ) struct_name : Ident ,
@@ -263,6 +264,7 @@ fn parse_node_fn(attr: TokenStream2, item: TokenStream2) -> syn::Result<ParsedNo
263264 let attributes = syn:: parse2 :: < NodeFnAttributes > ( attr. clone ( ) ) . map_err ( |e| Error :: new ( e. span ( ) , format ! ( "Failed to parse node_fn attributes: {}" , e) ) ) ?;
264265 let input_fn = syn:: parse2 :: < ItemFn > ( item. clone ( ) ) . map_err ( |e| Error :: new ( e. span ( ) , format ! ( "Failed to parse function: {}. Make sure it's a valid Rust function." , e) ) ) ?;
265266
267+ let vis = input_fn. vis ;
266268 let fn_name = input_fn. sig . ident . clone ( ) ;
267269 let struct_name = format_ident ! ( "{}" , fn_name. to_string( ) . to_case( Case :: Pascal ) ) ;
268270 let mod_name = fn_name. clone ( ) ;
@@ -297,6 +299,7 @@ fn parse_node_fn(attr: TokenStream2, item: TokenStream2) -> syn::Result<ParsedNo
297299 . fold ( String :: new ( ) , |acc, b| acc + & b + "\n " ) ;
298300
299301 Ok ( ParsedNodeFn {
302+ vis,
300303 attributes,
301304 fn_name,
302305 struct_name,
@@ -748,6 +751,7 @@ mod tests {
748751
749752 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
750753 let expected = ParsedNodeFn {
754+ vis : Visibility :: Inherited ,
751755 attributes : NodeFnAttributes {
752756 category : Some ( parse_quote ! ( "Math: Arithmetic" ) ) ,
753757 display_name : None ,
@@ -808,6 +812,7 @@ mod tests {
808812
809813 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
810814 let expected = ParsedNodeFn {
815+ vis : Visibility :: Inherited ,
811816 attributes : NodeFnAttributes {
812817 category : Some ( parse_quote ! ( "General" ) ) ,
813818 display_name : None ,
@@ -879,6 +884,7 @@ mod tests {
879884
880885 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
881886 let expected = ParsedNodeFn {
887+ vis : Visibility :: Inherited ,
882888 attributes : NodeFnAttributes {
883889 category : Some ( parse_quote ! ( "Vector: Shape" ) ) ,
884890 display_name : None ,
@@ -935,6 +941,7 @@ mod tests {
935941
936942 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
937943 let expected = ParsedNodeFn {
944+ vis : Visibility :: Inherited ,
938945 attributes : NodeFnAttributes {
939946 category : Some ( parse_quote ! ( "Raster: Adjustment" ) ) ,
940947 display_name : None ,
@@ -1003,6 +1010,7 @@ mod tests {
10031010
10041011 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
10051012 let expected = ParsedNodeFn {
1013+ vis : Visibility :: Inherited ,
10061014 attributes : NodeFnAttributes {
10071015 category : Some ( parse_quote ! ( "Math: Arithmetic" ) ) ,
10081016 display_name : None ,
@@ -1059,6 +1067,7 @@ mod tests {
10591067
10601068 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
10611069 let expected = ParsedNodeFn {
1070+ vis : Visibility :: Inherited ,
10621071 attributes : NodeFnAttributes {
10631072 category : Some ( parse_quote ! ( "IO" ) ) ,
10641073 display_name : None ,
@@ -1115,6 +1124,7 @@ mod tests {
11151124
11161125 let parsed = parse_node_fn ( attr, input) . unwrap ( ) ;
11171126 let expected = ParsedNodeFn {
1127+ vis : Visibility :: Inherited ,
11181128 attributes : NodeFnAttributes {
11191129 category : Some ( parse_quote ! ( "Custom" ) ) ,
11201130 display_name : Some ( parse_quote ! ( "CustomNode2" ) ) ,
0 commit comments