@@ -251,7 +251,7 @@ public void ExactMarshalMethods_MonoAndroid ()
251251 var extraMethods = new List < string > ( ) ;
252252 var connectorMismatches = new List < string > ( ) ;
253253
254- foreach ( var javaName in allJavaNames . OrderBy ( n => n ) ) {
254+ foreach ( var javaName in allJavaNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
255255 var inLegacy = legacyMethods . TryGetValue ( javaName , out var legacyGroups ) ;
256256 var inNew = newMethods . TryGetValue ( javaName , out var newGroups ) ;
257257
@@ -378,7 +378,7 @@ public void ExactBaseJavaNames_MonoAndroid ()
378378 var mismatches = new List < string > ( ) ;
379379 int compared = 0 ;
380380
381- foreach ( var managedName in allManagedNames . OrderBy ( n => n ) ) {
381+ foreach ( var managedName in allManagedNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
382382 var legacy = legacyData [ managedName ] ;
383383 var newInfo = newData [ managedName ] ;
384384
@@ -433,7 +433,7 @@ public void ExactImplementedInterfaces_MonoAndroid ()
433433 var extraInterfaces = new List < string > ( ) ;
434434 int compared = 0 ;
435435
436- foreach ( var managedName in allManagedNames . OrderBy ( n => n ) ) {
436+ foreach ( var managedName in allManagedNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
437437 var legacy = legacyData [ managedName ] ;
438438 var newInfo = newData [ managedName ] ;
439439
@@ -477,7 +477,7 @@ public void ExactActivationCtors_MonoAndroid ()
477477 int compared = 0 ;
478478 int withActivationCtor = 0 ;
479479
480- foreach ( var managedName in allManagedNames . OrderBy ( n => n ) ) {
480+ foreach ( var managedName in allManagedNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
481481 var legacy = legacyData [ managedName ] ;
482482 var newInfo = newData [ managedName ] ;
483483
@@ -530,7 +530,7 @@ public void ExactJavaConstructors_MonoAndroid ()
530530 int compared = 0 ;
531531 int totalCtors = 0 ;
532532
533- foreach ( var managedName in allManagedNames . OrderBy ( n => n ) ) {
533+ foreach ( var managedName in allManagedNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
534534 var legacy = legacyData [ managedName ] ;
535535 var newInfo = newData [ managedName ] ;
536536
@@ -575,7 +575,7 @@ public void ExactTypeFlags_MonoAndroid ()
575575 var acwMismatches = new List < string > ( ) ;
576576 int compared = 0 ;
577577
578- foreach ( var managedName in allManagedNames . OrderBy ( n => n ) ) {
578+ foreach ( var managedName in allManagedNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
579579 var legacy = legacyData [ managedName ] ;
580580 var newInfo = newData [ managedName ] ;
581581
@@ -874,7 +874,8 @@ static string MonoAndroidAssemblyPath {
874874 _ = nameof ( Java . Lang . Object ) ;
875875
876876 // At runtime, find the Mono.Android.dll copy in the test output directory.
877- var testDir = Path . GetDirectoryName ( typeof ( ScannerComparisonTests ) . Assembly . Location ) ! ;
877+ var testDir = Path . GetDirectoryName ( typeof ( ScannerComparisonTests ) . Assembly . Location )
878+ ?? throw new InvalidOperationException ( "Could not determine test assembly directory." ) ;
878879 var path = Path . Combine ( testDir , "Mono.Android.dll" ) ;
879880
880881 if ( ! File . Exists ( path ) ) {
@@ -890,7 +891,8 @@ static string MonoAndroidAssemblyPath {
890891 static string [ ] AllAssemblyPaths {
891892 get {
892893 var monoAndroidPath = MonoAndroidAssemblyPath ;
893- var dir = Path . GetDirectoryName ( monoAndroidPath ) ! ;
894+ var dir = Path . GetDirectoryName ( monoAndroidPath )
895+ ?? throw new InvalidOperationException ( "Could not determine Mono.Android directory." ) ;
894896 var javaInteropPath = Path . Combine ( dir , "Java.Interop.dll" ) ;
895897
896898 if ( ! File . Exists ( javaInteropPath ) ) {
@@ -914,7 +916,8 @@ static string NormalizeCrc64 (string javaName)
914916
915917 static string ? UserTypesFixturePath {
916918 get {
917- var testDir = Path . GetDirectoryName ( typeof ( ScannerComparisonTests ) . Assembly . Location ) ! ;
919+ var testDir = Path . GetDirectoryName ( typeof ( ScannerComparisonTests ) . Assembly . Location )
920+ ?? throw new InvalidOperationException ( "Could not determine test assembly directory." ) ;
918921 var path = Path . Combine ( testDir , "UserTypesFixture.dll" ) ;
919922 return File . Exists ( path ) ? path : null ;
920923 }
@@ -983,7 +986,7 @@ public void ExactMarshalMethods_UserTypesFixture ()
983986 var missing = new List < string > ( ) ;
984987 var methodMismatches = new List < string > ( ) ;
985988
986- foreach ( var javaName in legacyNormalized . Keys . OrderBy ( n => n ) ) {
989+ foreach ( var javaName in legacyNormalized . Keys . OrderBy ( n => n , StringComparer . Ordinal ) ) {
987990 if ( ! newNormalized . TryGetValue ( javaName , out var newGroups ) ) {
988991 missing . Add ( javaName ) ;
989992 continue ;
@@ -1040,7 +1043,7 @@ void AssertTypeMapMatch (List<TypeMapEntry> legacy, List<TypeMapEntry> newEntrie
10401043 var managedNameMismatches = new List < string > ( ) ;
10411044 var skipMismatches = new List < string > ( ) ;
10421045
1043- foreach ( var javaName in allJavaNames . OrderBy ( n => n ) ) {
1046+ foreach ( var javaName in allJavaNames . OrderBy ( n => n , StringComparer . Ordinal ) ) {
10441047 var inLegacy = legacyMap . TryGetValue ( javaName , out var legacyEntries ) ;
10451048 var inNew = newMap . TryGetValue ( javaName , out var newEntriesForName ) ;
10461049
0 commit comments