@@ -129,7 +129,7 @@ private Assembly ProcessAssembly(XElement[] modules, string assemblyName)
129
129
130
130
var assembly = new Assembly ( assemblyName ) ;
131
131
132
- Parallel . ForEach ( classNames , c => this . ProcessClass ( classes , assembly , c . Name , c . DisplayName ) ) ;
132
+ Parallel . ForEach ( classNames , c => this . ProcessClass ( classes , assembly , c ) ) ;
133
133
134
134
return assembly ;
135
135
}
@@ -139,20 +139,19 @@ private Assembly ProcessAssembly(XElement[] modules, string assemblyName)
139
139
/// </summary>
140
140
/// <param name="allClasses">All class elements.</param>
141
141
/// <param name="assembly">The assembly.</param>
142
- /// <param name="className">Name of the class.</param>
143
- /// <param name="classDisplayName">Diesplay name of the class.</param>
144
- private void ProcessClass ( XElement [ ] allClasses , Assembly assembly , string className , string classDisplayName )
142
+ /// <param name="classNameParserResult">Name of the class.</param>
143
+ private void ProcessClass ( XElement [ ] allClasses , Assembly assembly , ClassNameParserResult classNameParserResult )
145
144
{
146
145
bool FilterClass ( XElement element )
147
146
{
148
147
var name = element . Attribute ( "name" ) . Value ;
149
148
150
- return name . Equals ( className )
149
+ return name . Equals ( classNameParserResult . Name )
151
150
|| ( ! this . RawMode
152
- && name . StartsWith ( className , StringComparison . Ordinal )
153
- && ( name [ className . Length ] == '$'
154
- || name [ className . Length ] == '/'
155
- || name [ className . Length ] == '.' ) ) ;
151
+ && name . StartsWith ( classNameParserResult . Name , StringComparison . Ordinal )
152
+ && ( name [ classNameParserResult . Name . Length ] == '$'
153
+ || name [ classNameParserResult . Name . Length ] == '/'
154
+ || name [ classNameParserResult . Name . Length ] == '.' ) ) ;
156
155
}
157
156
158
157
var classes = allClasses
@@ -171,14 +170,14 @@ bool FilterClass(XElement element)
171
170
// If all files are removed by filters, then the whole class is omitted
172
171
if ( ( files . Length == 0 && ! this . FileFilter . HasCustomFilters ) || filteredFiles . Length > 0 )
173
172
{
174
- var @class = new Class ( classDisplayName , assembly ) ;
173
+ var @class = new Class ( classNameParserResult . DisplayName , classNameParserResult . RawName , assembly ) ;
175
174
176
175
foreach ( var file in filteredFiles )
177
176
{
178
177
var fileClasses = classes
179
178
. Where ( c => c . Attribute ( "filename" ) . Value . Equals ( file ) )
180
179
. ToArray ( ) ;
181
- @class . AddFile ( this . ProcessFile ( fileClasses , @class , className , file ) ) ;
180
+ @class . AddFile ( this . ProcessFile ( fileClasses , @class , classNameParserResult . Name , file ) ) ;
182
181
}
183
182
184
183
assembly . AddClass ( @class ) ;
0 commit comments