From 313d8805835d9d6d50416b8c414bac056c753ba9 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Thu, 13 May 2021 15:41:45 -0500 Subject: [PATCH] [Java.Interop] Fix NRT warnings introduced by targeting 'net6.0'. --- .../Java.Interop/MarshalMemberBuilder.cs | 4 ++-- .../Java.Interop/JavaPrimitiveArrays.cs | 16 ++++++++-------- .../Java.Interop/JniBuiltinMarshalers.cs | 16 ++++++++-------- .../JniRuntime.JniMarshalMemberBuilder.cs | 2 +- .../Java.Interop/JniRuntime.JniTypeManager.cs | 2 +- .../Java.Interop/JniRuntime.JniValueManager.cs | 8 ++++---- .../Java.Interop/JniStringValueMarshaler.cs | 2 +- .../Java.Interop/JniValueMarshaler.cs | 6 +++--- .../Java.Interop/ExportTest.cs | 4 ++-- 9 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/Java.Interop.Export/Java.Interop/MarshalMemberBuilder.cs b/src/Java.Interop.Export/Java.Interop/MarshalMemberBuilder.cs index 7a8109cd5..2608a5fbb 100644 --- a/src/Java.Interop.Export/Java.Interop/MarshalMemberBuilder.cs +++ b/src/Java.Interop.Export/Java.Interop/MarshalMemberBuilder.cs @@ -158,7 +158,7 @@ public LambdaExpression CreateMarshalToManagedExpression (MethodInfo method, Jav var marshalerContext = new JniValueMarshalerContext (jvm, useVmVariable ? vm : null); if (!method.IsStatic) { var selfMarshaler = Runtime.ValueManager.GetValueMarshaler (type); - self = selfMarshaler.CreateParameterToManagedExpression (marshalerContext, context, 0, type); + self = selfMarshaler.CreateParameterToManagedExpression (marshalerContext, context, type, 0); } var marshalParameters = new List (methodParameters.Length); @@ -176,7 +176,7 @@ public LambdaExpression CreateMarshalToManagedExpression (MethodInfo method, Jav else throw new InvalidOperationException ("Should not be reached."); } - var p = marshaler.CreateParameterToManagedExpression (marshalerContext, np, methodParameters [i].Attributes, methodParameters [i].ParameterType); + var p = marshaler.CreateParameterToManagedExpression (marshalerContext, np, methodParameters [i].ParameterType, methodParameters [i].Attributes); marshalParameters.Add (np); invokeParameters.Add (p); } diff --git a/src/Java.Interop/Java.Interop/JavaPrimitiveArrays.cs b/src/Java.Interop/Java.Interop/JavaPrimitiveArrays.cs index 2ec1c3cfe..2776bb970 100644 --- a/src/Java.Interop/Java.Interop/JavaPrimitiveArrays.cs +++ b/src/Java.Interop/Java.Interop/JavaPrimitiveArrays.cs @@ -263,7 +263,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList val JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaBooleanArray.CreateMarshaledValue; @@ -439,7 +439,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList value JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaSByteArray.CreateMarshaledValue; @@ -615,7 +615,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList value, JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaCharArray.CreateMarshaledValue; @@ -791,7 +791,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList value JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaInt16Array.CreateMarshaledValue; @@ -967,7 +967,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList value JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaInt32Array.CreateMarshaledValue; @@ -1143,7 +1143,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList value JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaInt64Array.CreateMarshaledValue; @@ -1319,7 +1319,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList valu JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaSingleArray.CreateMarshaledValue; @@ -1495,7 +1495,7 @@ public override void DestroyGenericArgumentState ([AllowNull] IList valu JavaArray.DestroyArgumentState (value, ref state, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType = null, ParameterAttributes synchronize = 0) { Func m = JavaDoubleArray.CreateMarshaledValue; diff --git a/src/Java.Interop/Java.Interop/JniBuiltinMarshalers.cs b/src/Java.Interop/Java.Interop/JniBuiltinMarshalers.cs index fd6b78712..6eb132257 100644 --- a/src/Java.Interop/Java.Interop/JniBuiltinMarshalers.cs +++ b/src/Java.Interop/Java.Interop/JniBuiltinMarshalers.cs @@ -259,7 +259,7 @@ public override void DestroyGenericArgumentState (Boolean value, ref JniValueMar state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -386,7 +386,7 @@ public override void DestroyGenericArgumentState (SByte value, ref JniValueMarsh state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -513,7 +513,7 @@ public override void DestroyGenericArgumentState (Char value, ref JniValueMarsha state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -640,7 +640,7 @@ public override void DestroyGenericArgumentState (Int16 value, ref JniValueMarsh state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -767,7 +767,7 @@ public override void DestroyGenericArgumentState (Int32 value, ref JniValueMarsh state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -894,7 +894,7 @@ public override void DestroyGenericArgumentState (Int64 value, ref JniValueMarsh state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -1021,7 +1021,7 @@ public override void DestroyGenericArgumentState (Single value, ref JniValueMars state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } @@ -1148,7 +1148,7 @@ public override void DestroyGenericArgumentState (Double value, ref JniValueMars state = new JniValueMarshalerState (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } diff --git a/src/Java.Interop/Java.Interop/JniRuntime.JniMarshalMemberBuilder.cs b/src/Java.Interop/Java.Interop/JniRuntime.JniMarshalMemberBuilder.cs index ab0356e31..d8a87aa35 100644 --- a/src/Java.Interop/Java.Interop/JniRuntime.JniMarshalMemberBuilder.cs +++ b/src/Java.Interop/Java.Interop/JniRuntime.JniMarshalMemberBuilder.cs @@ -178,7 +178,7 @@ public override Expression CreateParameterFromManagedExpression (Java.Interop.Ex return sourceValue; } - public override Expression CreateParameterToManagedExpression (Java.Interop.Expressions.JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (Java.Interop.Expressions.JniValueMarshalerContext context, ParameterExpression sourceValue, Type? targetType, ParameterAttributes synchronize) { return sourceValue; } diff --git a/src/Java.Interop/Java.Interop/JniRuntime.JniTypeManager.cs b/src/Java.Interop/Java.Interop/JniRuntime.JniTypeManager.cs index 273256fc8..22055675b 100644 --- a/src/Java.Interop/Java.Interop/JniRuntime.JniTypeManager.cs +++ b/src/Java.Interop/Java.Interop/JniRuntime.JniTypeManager.cs @@ -176,7 +176,7 @@ protected virtual IEnumerable GetSimpleReferences (Type type) static readonly Type[] EmptyTypeArray = Array.Empty (); - public Type GetType (JniTypeSignature typeSignature) + public Type? GetType (JniTypeSignature typeSignature) { AssertValid (); diff --git a/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs b/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs index 03ac65994..2ba88d053 100644 --- a/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs +++ b/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs @@ -333,7 +333,7 @@ static Type GetPeerType (Type type) return GetActivationConstructor (fallbackType); } - static ConstructorInfo GetActivationConstructor (Type type) + static ConstructorInfo? GetActivationConstructor (Type type) { return (from c in type.GetConstructors (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) @@ -673,7 +673,7 @@ public override Expression CreateReturnValueFromManagedExpression (JniValueMarsh return ReturnObjectReferenceToJni (context, sourceValue.Name, CreateIntermediaryExpressionFromManagedExpression (context, sourceValue)); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type targetType, ParameterAttributes synchronize) { var r = Expression.Variable (targetType, sourceValue.Name + "_val"); context.LocalVariables.Add (r); @@ -718,9 +718,9 @@ public override Expression CreateParameterFromManagedExpression (JniValueMarshal return ValueMarshaler.CreateParameterFromManagedExpression (context, sourceValue, synchronize); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type targetType, ParameterAttributes synchronize) { - return ValueMarshaler.CreateParameterToManagedExpression (context, sourceValue, synchronize, targetType); + return ValueMarshaler.CreateParameterToManagedExpression (context, sourceValue, targetType, synchronize); } public override Expression CreateReturnValueFromManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue) diff --git a/src/Java.Interop/Java.Interop/JniStringValueMarshaler.cs b/src/Java.Interop/Java.Interop/JniStringValueMarshaler.cs index 8692639b7..a2dea0a08 100644 --- a/src/Java.Interop/Java.Interop/JniStringValueMarshaler.cs +++ b/src/Java.Interop/Java.Interop/JniStringValueMarshaler.cs @@ -57,7 +57,7 @@ public override Expression CreateReturnValueFromManagedExpression (JniValueMarsh return ReturnObjectReferenceToJni (context, sourceValue.Name, obj); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type? targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type targetType, ParameterAttributes synchronize) { Func m = JniEnvironment.Strings.ToString; diff --git a/src/Java.Interop/Java.Interop/JniValueMarshaler.cs b/src/Java.Interop/Java.Interop/JniValueMarshaler.cs index 89d284fa4..e817a7542 100644 --- a/src/Java.Interop/Java.Interop/JniValueMarshaler.cs +++ b/src/Java.Interop/Java.Interop/JniValueMarshaler.cs @@ -15,7 +15,7 @@ sealed class VariableCollection : KeyedCollection { protected override string GetKeyForItem (ParameterExpression item) { - return item.Name; + return item.Name!; } } @@ -142,7 +142,7 @@ public virtual JniValueMarshalerState CreateArgumentState (object? value, return CreateValue (ref r, JniObjectReferenceOptions.Copy, targetType); } - public virtual Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize = 0, Type? targetType = null) + public virtual Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type targetType, ParameterAttributes synchronize = 0) { Func m = CreateValue; @@ -169,7 +169,7 @@ public virtual Expression CreateReturnValueFromManagedExpressi return ReturnObjectReferenceToJni (context, sourceValue.Name, Expression.Property (s, "ReferenceValue")); } - protected Expression ReturnObjectReferenceToJni (JniValueMarshalerContext context, string namePrefix, Expression sourceValue) + protected Expression ReturnObjectReferenceToJni (JniValueMarshalerContext context, string? namePrefix, Expression sourceValue) { Func m = JniEnvironment.References.NewReturnToJniRef; var r = Expression.Variable (MarshalType, namePrefix + "_rtn"); diff --git a/tests/Java.Interop.Export-Tests/Java.Interop/ExportTest.cs b/tests/Java.Interop.Export-Tests/Java.Interop/ExportTest.cs index 877448bde..3dc3b8bd4 100644 --- a/tests/Java.Interop.Export-Tests/Java.Interop/ExportTest.cs +++ b/tests/Java.Interop.Export-Tests/Java.Interop/ExportTest.cs @@ -209,7 +209,7 @@ public override void DestroyGenericArgumentState (MyColor value, ref JniValueMar throw new NotImplementedException (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type targetType, ParameterAttributes synchronize) { var c = typeof (MyColor).GetConstructor (new[]{typeof (int)}); var v = Expression.Variable (typeof (MyColor), sourceValue.Name + "_val"); @@ -253,7 +253,7 @@ public override void DestroyGenericArgumentState (MyLegacyColor value, ref JniVa throw new NotImplementedException (); } - public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, ParameterAttributes synchronize, Type targetType) + public override Expression CreateParameterToManagedExpression (JniValueMarshalerContext context, ParameterExpression sourceValue, Type targetType, ParameterAttributes synchronize) { var c = typeof (MyLegacyColor).GetConstructor (new[]{typeof (int)}); var v = Expression.Variable (typeof (MyLegacyColor), sourceValue.Name + "_val");