@@ -51,8 +51,9 @@ use crate::string::*;
5151use crate :: symbol:: { Symbol , SymbolType } ;
5252use crate :: tags:: { Tag , TagReference , TagType } ;
5353use crate :: types:: {
54- NamedTypeReference , QualifiedName , QualifiedNameAndType , QualifiedNameTypeAndId , Type ,
55- TypeArchive , TypeArchiveId , TypeContainer , TypeLibrary ,
54+ FunctionParameter , NamedTypeReference , QualifiedName , QualifiedNameAndType ,
55+ QualifiedNameTypeAndId , ReturnValue , Type , TypeArchive , TypeArchiveId , TypeContainer ,
56+ TypeLibrary ,
5657} ;
5758use crate :: variable:: DataVariable ;
5859use crate :: workflow:: Workflow ;
@@ -2964,6 +2965,36 @@ impl BinaryView {
29642965 let path_str = unsafe { BnString :: into_string ( result) } ;
29652966 Some ( PathBuf :: from ( path_str) )
29662967 }
2968+
2969+ pub fn deref_return_value_named_type_references (
2970+ & self ,
2971+ return_value : & ReturnValue ,
2972+ ) -> ReturnValue {
2973+ ReturnValue {
2974+ ty : Conf :: new (
2975+ return_value. ty . contents . deref_named_type_reference ( self ) ,
2976+ return_value. ty . confidence ,
2977+ ) ,
2978+ location : return_value. location . clone ( ) ,
2979+ }
2980+ }
2981+
2982+ pub fn deref_parameter_named_type_references (
2983+ & self ,
2984+ params : & [ FunctionParameter ] ,
2985+ ) -> Vec < FunctionParameter > {
2986+ params
2987+ . iter ( )
2988+ . map ( |param| FunctionParameter {
2989+ ty : Conf :: new (
2990+ param. ty . contents . deref_named_type_reference ( self ) ,
2991+ param. ty . confidence ,
2992+ ) ,
2993+ name : param. name . clone ( ) ,
2994+ location : param. location . clone ( ) ,
2995+ } )
2996+ . collect ( )
2997+ }
29672998}
29682999
29693000impl BinaryViewBase for BinaryView {
0 commit comments