@@ -18,7 +18,7 @@ internal unsafe ref partial struct TypeNameResolver
1818 private Func < Assembly ? , string , bool , Type ? > ? _typeResolver ;
1919 private bool _throwOnError ;
2020 private bool _ignoreCase ;
21- private void * _stackMark ;
21+ private ref StackCrawlMark _stackMark ;
2222
2323 [ RequiresUnreferencedCode ( "The type might be removed" ) ]
2424 internal static Type ? GetType (
@@ -52,7 +52,7 @@ internal unsafe ref partial struct TypeNameResolver
5252 _typeResolver = typeResolver ,
5353 _throwOnError = throwOnError ,
5454 _ignoreCase = ignoreCase ,
55- _stackMark = Unsafe . AsPointer ( ref stackMark )
55+ _stackMark = ref stackMark
5656 } . Resolve ( parsed ) ;
5757 }
5858
@@ -69,19 +69,17 @@ internal unsafe ref partial struct TypeNameResolver
6969 }
7070 else
7171 {
72- ref StackCrawlMark stackMark = ref Unsafe . AsRef < StackCrawlMark > ( _stackMark ) ;
73-
7472 if ( _throwOnError )
7573 {
76- assembly = Assembly . Load ( name , ref stackMark , null ) ;
74+ assembly = Assembly . Load ( name , ref _stackMark , null ) ;
7775 }
7876 else
7977 {
8078 // When throwOnError is false we should only catch FileNotFoundException.
8179 // Other exceptions like BadImangeFormatException should still fly.
8280 try
8381 {
84- assembly = Assembly . Load ( name , ref stackMark , null ) ;
82+ assembly = Assembly . Load ( name , ref _stackMark , null ) ;
8583 }
8684 catch ( FileNotFoundException )
8785 {
@@ -123,9 +121,7 @@ internal unsafe ref partial struct TypeNameResolver
123121 {
124122 if ( assembly is null )
125123 {
126- ref StackCrawlMark stackMark = ref Unsafe . AsRef < StackCrawlMark > ( _stackMark ) ;
127-
128- type = RuntimeType . GetType ( escapedTypeName , _throwOnError , _ignoreCase , ref stackMark ) ;
124+ type = RuntimeType . GetType ( escapedTypeName , _throwOnError , _ignoreCase , ref _stackMark ) ;
129125 }
130126 else
131127 {
0 commit comments