Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Xamarin.Android.Tools.AndroidSdk] Fix NRT warnings (#206)
Fix NRT warnings that are showing up in CI build logs, e.g. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidAppManifest.cs(179,34): warning CS8604: Possible null reference argument for parameter 'attribute' in 'int? AndroidAppManifest.ParseSdkVersion(XAttribute attribute)'. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidAppManifest.cs(250,22): warning CS8600: Converting null literal or possible null value to non-nullable type. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidAppManifest.cs(252,6): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidAppManifest.cs(34,15): warning CS8601: Possible null reference assignment. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidAppManifest.cs(35,8): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidAppManifest.cs(38,18): warning CS8601: Possible null reference assignment. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidSdkInfo.cs(198,11): warning CS8603: Possible null reference return. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersion.cs(74,18): warning CS8600: Converting null literal or possible null value to non-nullable type. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersion.cs(74,27): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersion.cs(75,24): warning CS8604: Possible null reference argument for parameter 'element' in 'XElement.explicit operator int(XElement element)'. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersion.cs(76,18): warning CS8600: Converting null literal or possible null value to non-nullable type. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersion.cs(78,25): warning CS8604: Possible null reference argument for parameter 'element' in 'XElement.explicit operator bool(XElement element)'. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/AndroidVersion.cs(80,38): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs(403,23): warning CS8600: Converting null literal or possible null value to non-nullable type. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs(406,12): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs(52,10): warning CS8618: Non-nullable property 'JarPath' must contain a non-null value when exiting constructor. Consider declaring the property as nullable. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs(52,10): warning CS8618: Non-nullable property 'JavacPath' must contain a non-null value when exiting constructor. Consider declaring the property as nullable. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs(52,10): warning CS8618: Non-nullable property 'JavaPath' must contain a non-null value when exiting constructor. Consider declaring the property as nullable. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/JdkInfo.cs(64,26): warning CS8601: Possible null reference assignment. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/Jdks/JdkLocations.MacOS.cs(23,29): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/Sdks/AndroidSdkUnix.cs(129,20): warning CS8602: Dereference of a possibly null reference. …/xamarin-android-tools/src/Xamarin.Android.Tools.AndroidSdk/Sdks/AndroidSdkUnix.cs(49,21): warning CS8602: Dereference of a possibly null reference. Fix these warnings. Rework the `JdkInfo` constructor so that the C# compiler can determine that `JarPath`, `JavacPath`, and `JavaPath` aren't `null`. Change the return type of `AndroidSdkUnix.GetUnixConfigFile()` and parameter type of `AndroidSdkUnix.SaveConfig()` to be `XElement` instead of `XDocument`, to remove warnings about `XDocument.Root` possibly being `null`.
- Loading branch information