1
1
using System . Diagnostics ;
2
2
using System . Runtime . CompilerServices ;
3
3
using System . Text ;
4
+ using AsmResolver ;
4
5
using AsmResolver . DotNet ;
5
6
using AsmResolver . DotNet . Signatures ;
6
7
using AsmResolver . PE . DotNet . Metadata . Tables ;
@@ -73,12 +74,9 @@ public MethodRewriteContext(TypeRewriteContext declaringType, MethodDefinition o
73
74
74
75
foreach ( var oldParameter in genericParams )
75
76
{
76
- var genericParameter = new GenericParameter ( oldParameter . Name ) ;
77
- genericParameter . Attributes = oldParameter . Attributes . StripValueTypeConstraint ( ) ;
78
- newMethod . GenericParameters . Add ( genericParameter ) ;
79
-
80
- if ( genericParameter . Name . IsInvalidInSource ( ) )
81
- genericParameter . Name = genericParameter . Name . FilterInvalidInSourceChars ( ) ;
77
+ newMethod . GenericParameters . Add ( new GenericParameter (
78
+ oldParameter . Name . MakeValidInSource ( ) ,
79
+ oldParameter . Attributes . StripValueTypeConstraint ( ) ) ) ;
82
80
}
83
81
}
84
82
@@ -94,7 +92,7 @@ public MethodRewriteContext(TypeRewriteContext declaringType, MethodDefinition o
94
92
declaringType . AssemblyContext . GlobalContext . MethodStartAddresses . Add ( FileOffset ) ;
95
93
}
96
94
97
- public string ? UnmangledName { get ; private set ; }
95
+ public Utf8String ? UnmangledName { get ; private set ; }
98
96
public string ? UnmangledNameWithSignature { get ; private set ; }
99
97
100
98
public TypeDefinition ? GenericInstantiationsStore { get ; private set ; }
@@ -137,9 +135,7 @@ public void CtorPhase2()
137
135
for ( var index = 0 ; index < genericParams . Count ; index ++ )
138
136
{
139
137
var oldParameter = genericParams [ index ] ;
140
- var genericParameter = new GenericParameter ( oldParameter . Name ) ;
141
- if ( genericParameter . Name . IsInvalidInSource ( ) )
142
- genericParameter . Name = genericParameter . Name . FilterInvalidInSourceChars ( ) ;
138
+ var genericParameter = new GenericParameter ( oldParameter . Name . MakeValidInSource ( ) ) ;
143
139
genericMethodInfoStoreType . GenericParameters . Add ( genericParameter ) ;
144
140
selfSubstRef . TypeArguments . Add ( genericParameter . ToTypeSignature ( ) ) ;
145
141
var newParameter = NewMethod . GenericParameters [ index ] ;
@@ -204,22 +200,18 @@ private string UnmangleMethodName()
204
200
if ( method . Name . IsObfuscated ( DeclaringType . AssemblyContext . GlobalContext . Options ) )
205
201
return UnmangleMethodNameWithSignature ( ) ;
206
202
207
- if ( method . Name . IsInvalidInSource ( ) )
208
- return method . Name . FilterInvalidInSourceChars ( ) ;
209
-
210
- return method . Name ! ;
203
+ return method . Name . MakeValidInSource ( ) ;
211
204
}
212
205
213
206
private string ProduceMethodSignatureBase ( )
214
207
{
215
208
var method = OriginalMethod ;
216
209
217
- var name = method . Name ;
210
+ string name ;
218
211
if ( method . Name . IsObfuscated ( DeclaringType . AssemblyContext . GlobalContext . Options ) )
219
212
name = "Method" ;
220
-
221
- if ( name . IsInvalidInSource ( ) )
222
- name = name . FilterInvalidInSourceChars ( ) ;
213
+ else
214
+ name = method . Name . MakeValidInSource ( ) ;
223
215
224
216
if ( method . Name == "GetType" && method . Parameters . Count == 0 )
225
217
name = "GetIl2CppType" ;
0 commit comments