@@ -130,16 +130,23 @@ public static IntPtr TypeTreeGenerator_getLoadedDLLNames(IntPtr typeTreeGenerato
130130 var json = string . Join ( "," , names . Select ( name => $ "\" { name } \" ") ) ;
131131 return Marshal . StringToCoTaskMemUTF8 ( $ "[{ json } ]") ;
132132 }
133+
134+ public enum GenerateTreeNodesResult
135+ {
136+ Ok = 0 ,
137+ Error = - 1 ,
138+ NotFound = - 2 ,
139+ }
133140
134141 [ UnmanagedCallersOnly ( EntryPoint = "TypeTreeGenerator_generateTreeNodesJson" ) ]
135- public static int TypeTreeGenerator_generateTreeNodesJson ( IntPtr typeTreeGeneratorPtr , IntPtr assemblyNamePtr , IntPtr fullNamePtr , IntPtr jsonAddr )
142+ public static GenerateTreeNodesResult TypeTreeGenerator_generateTreeNodesJson ( IntPtr typeTreeGeneratorPtr , IntPtr assemblyNamePtr , IntPtr fullNamePtr , IntPtr jsonAddr )
136143 {
137144 string ? assemblyName = Marshal . PtrToStringUTF8 ( assemblyNamePtr ) ;
138145 string ? fullName = Marshal . PtrToStringUTF8 ( fullNamePtr ) ;
139146
140147 if ( typeTreeGeneratorPtr == IntPtr . Zero || assemblyName == null || fullName == null )
141148 {
142- return - 1 ;
149+ return GenerateTreeNodesResult . Error ;
143150 }
144151 try
145152 {
@@ -149,7 +156,7 @@ public static int TypeTreeGenerator_generateTreeNodesJson(IntPtr typeTreeGenerat
149156 if ( typeTreeNodes == null )
150157 {
151158 Marshal . WriteIntPtr ( jsonAddr , IntPtr . Zero ) ;
152- return 0 ;
159+ return GenerateTreeNodesResult . NotFound ;
153160 }
154161 var json = TypeTreeNodeSerializer . ToJson ( typeTreeNodes ! ) ;
155162 Marshal . WriteIntPtr ( jsonAddr , Marshal . StringToCoTaskMemUTF8 ( json ) ) ;
@@ -158,19 +165,19 @@ public static int TypeTreeGenerator_generateTreeNodesJson(IntPtr typeTreeGenerat
158165 catch ( Exception ex )
159166 {
160167 Console . WriteLine ( $ "Error generating tree nodes:\n { ex . Message } ") ;
161- return - 1 ;
168+ return GenerateTreeNodesResult . Error ;
162169 }
163170 }
164171
165172 [ UnmanagedCallersOnly ( EntryPoint = "TypeTreeGenerator_generateTreeNodesRaw" ) ]
166- public static int TypeTreeGenerator_generateTreeNodesRaw ( IntPtr typeTreeGeneratorPtr , IntPtr assemblyNamePtr , IntPtr fullNamePtr , IntPtr arrAddrPtr , IntPtr arrLengthPtr )
173+ public static GenerateTreeNodesResult TypeTreeGenerator_generateTreeNodesRaw ( IntPtr typeTreeGeneratorPtr , IntPtr assemblyNamePtr , IntPtr fullNamePtr , IntPtr arrAddrPtr , IntPtr arrLengthPtr )
167174 {
168175 string ? assemblyName = Marshal . PtrToStringUTF8 ( assemblyNamePtr ) ;
169176 string ? fullName = Marshal . PtrToStringUTF8 ( fullNamePtr ) ;
170177
171178 if ( typeTreeGeneratorPtr == IntPtr . Zero || assemblyName == null || fullName == null )
172179 {
173- return - 1 ;
180+ return GenerateTreeNodesResult . Error ;
174181 }
175182 try
176183 {
@@ -180,19 +187,19 @@ public static int TypeTreeGenerator_generateTreeNodesRaw(IntPtr typeTreeGenerato
180187 {
181188 Marshal . WriteIntPtr ( arrAddrPtr , IntPtr . Zero ) ;
182189 Marshal . WriteInt32 ( arrLengthPtr , 0 ) ;
183- return 0 ;
190+ return GenerateTreeNodesResult . NotFound ;
184191 }
185192 var ( arrayPtr , arrayLength ) = TypeTreeNodeSerializer . ToRaw ( typeTreeNodes ! ) ;
186193
187194 Marshal . WriteIntPtr ( arrAddrPtr , arrayPtr ) ;
188195 Marshal . WriteInt32 ( arrLengthPtr , arrayLength ) ;
189196
190- return 0 ;
197+ return GenerateTreeNodesResult . Ok ;
191198 }
192199 catch ( Exception ex )
193200 {
194201 Console . WriteLine ( $ "Error generating tree nodes:\n { ex . Message } ") ;
195- return - 1 ;
202+ return GenerateTreeNodesResult . Error ;
196203 }
197204 }
198205
0 commit comments