From 10a18ef9ebb36df984c706a67f152c6b63b68691 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Tue, 2 Jan 2018 16:45:25 +0100 Subject: [PATCH] [Java.Intreop] Rename Dispose methods These have different signatures than the common dispose pattern methods, thus rename them to avoid confusion. Also rename other methods working with IJavaPeerable to be consistent. Catched by gendarme's https://github.com/spouliot/gendarme/wiki/Gendarme.Rules.Design.UseCorrectDisposeSignaturesRule(2.10) --- gendarme-ignore.txt | 4 +-- .../Java.Interop/JavaException.cs | 10 +++---- src/Java.Interop/Java.Interop/JavaObject.cs | 10 +++---- .../JniRuntime.JniValueManager.cs | 30 +++++++++---------- .../Java.Interop/JavaManagedGCBridgeTests.cs | 2 +- .../Tests/Java.Interop/JavaObjectArrayTest.cs | 2 +- .../Tests/Java.Interop/JavaObjectTest.cs | 8 ++--- .../JniRuntime.JniValueManagerTests.cs | 8 ++--- .../Tests/Java.Interop/JniRuntimeTest.cs | 8 ++--- .../Java.Interop/MonoRuntimeValueManager.cs | 12 ++++---- 10 files changed, 47 insertions(+), 47 deletions(-) diff --git a/gendarme-ignore.txt b/gendarme-ignore.txt index 57d11ab55..ec6f38fd8 100644 --- a/gendarme-ignore.txt +++ b/gendarme-ignore.txt @@ -52,7 +52,7 @@ M: Java.Interop.JniType Java.Interop.JniLong::get_TypeRef() M: Java.Interop.JniType Java.Interop.JniPeerMembers::get_JniPeerType() M: Java.Interop.JniRuntime Java.Interop.JniRuntime::get_CurrentRuntime() M: System.Void Java.Interop.JniRuntime::RaisePendingException(System.Exception) -M: System.Void Java.Interop.JniRuntime/JniValueManager::DisposeUnlessReferenced(Java.Interop.IJavaPeerable) +M: System.Void Java.Interop.JniRuntime/JniValueManager::DisposePeerUnlessReferenced(Java.Interop.IJavaPeerable) M: System.Object Java.Interop.JniRuntime/JniValueManager::PeekValue(Java.Interop.JniObjectReference) M: System.Object Java.Interop.JniRuntime/JniValueManager::PeekBoxedObject(Java.Interop.JniObjectReference) M: Java.Interop.JniType Java.Interop.JniShort::get_TypeRef() @@ -104,7 +104,7 @@ M: System.Void Java.Interop.JniObjectReference::Dispose(Java.Interop.JniObjectRe M: System.Exception Java.Interop.JniRuntime::GetExceptionForThrowable(Java.Interop.JniObjectReference&,Java.Interop.JniObjectReferenceOptions) M: System.Void Java.Interop.JniRuntime/JniObjectReferenceManager::DeleteGlobalReference(Java.Interop.JniObjectReference&) M: System.Void Java.Interop.JniRuntime/JniObjectReferenceManager::DeleteWeakGlobalReference(Java.Interop.JniObjectReference&) -M: System.Void Java.Interop.JniRuntime/JniValueManager::Construct(Java.Interop.IJavaPeerable,Java.Interop.JniObjectReference&,Java.Interop.JniObjectReferenceOptions) +M: System.Void Java.Interop.JniRuntime/JniValueManager::ConstructPeer(Java.Interop.IJavaPeerable,Java.Interop.JniObjectReference&,Java.Interop.JniObjectReferenceOptions) M: Java.Interop.IJavaPeerable Java.Interop.JniRuntime/JniValueManager::CreatePeer(Java.Interop.JniObjectReference&,Java.Interop.JniObjectReferenceOptions,System.Type) M: System.Object Java.Interop.JniRuntime/JniValueManager::CreateValue(Java.Interop.JniObjectReference&,Java.Interop.JniObjectReferenceOptions,System.Type) M: T Java.Interop.JniRuntime/JniValueManager::CreateValue(Java.Interop.JniObjectReference&,Java.Interop.JniObjectReferenceOptions,System.Type) diff --git a/src/Java.Interop/Java.Interop/JavaException.cs b/src/Java.Interop/Java.Interop/JavaException.cs index 624502a4e..65866ef88 100644 --- a/src/Java.Interop/Java.Interop/JavaException.cs +++ b/src/Java.Interop/Java.Interop/JavaException.cs @@ -84,12 +84,12 @@ public JavaException (ref JniObjectReference reference, JniObjectReferenceOption protected void Construct (ref JniObjectReference reference, JniObjectReferenceOptions options) { - JniEnvironment.Runtime.ValueManager.Construct (this, ref reference, options); + JniEnvironment.Runtime.ValueManager.ConstructPeer (this, ref reference, options); } ~JavaException () { - JniEnvironment.Runtime.ValueManager.Finalize (this); + JniEnvironment.Runtime.ValueManager.FinalizePeer (this); } public JniObjectReference PeerReference { @@ -148,17 +148,17 @@ public void UnregisterFromRuntime () { if (!PeerReference.IsValid) throw new ObjectDisposedException (GetType ().FullName); - JniEnvironment.Runtime.ValueManager.Remove (this); + JniEnvironment.Runtime.ValueManager.RemovePeer (this); } public void Dispose () { - JniEnvironment.Runtime.ValueManager.Dispose (this); + JniEnvironment.Runtime.ValueManager.DisposePeer (this); } public void DisposeUnlessReferenced () { - JniEnvironment.Runtime.ValueManager.DisposeUnlessReferenced (this); + JniEnvironment.Runtime.ValueManager.DisposePeerUnlessReferenced (this); } protected virtual void Dispose (bool disposing) diff --git a/src/Java.Interop/Java.Interop/JavaObject.cs b/src/Java.Interop/Java.Interop/JavaObject.cs index 2f43f5de5..efded6ef2 100644 --- a/src/Java.Interop/Java.Interop/JavaObject.cs +++ b/src/Java.Interop/Java.Interop/JavaObject.cs @@ -28,7 +28,7 @@ unsafe public class JavaObject : IJavaPeerable ~JavaObject () { - JniEnvironment.Runtime.ValueManager.Finalize (this); + JniEnvironment.Runtime.ValueManager.FinalizePeer (this); } public JniObjectReference PeerReference { @@ -75,7 +75,7 @@ public unsafe JavaObject () protected void Construct (ref JniObjectReference reference, JniObjectReferenceOptions options) { - JniEnvironment.Runtime.ValueManager.Construct (this, ref reference, options); + JniEnvironment.Runtime.ValueManager.ConstructPeer (this, ref reference, options); } protected void SetPeerReference (ref JniObjectReference reference, JniObjectReferenceOptions options) @@ -100,17 +100,17 @@ public void UnregisterFromRuntime () { if (!PeerReference.IsValid) throw new ObjectDisposedException (GetType ().FullName); - JniEnvironment.Runtime.ValueManager.Remove (this); + JniEnvironment.Runtime.ValueManager.RemovePeer (this); } public void Dispose () { - JniEnvironment.Runtime.ValueManager.Dispose (this); + JniEnvironment.Runtime.ValueManager.DisposePeer (this); } public void DisposeUnlessReferenced () { - JniEnvironment.Runtime.ValueManager.DisposeUnlessReferenced (this); + JniEnvironment.Runtime.ValueManager.DisposePeerUnlessReferenced (this); } protected virtual void Dispose (bool disposing) diff --git a/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs b/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs index b84cc7e31..80d46e322 100644 --- a/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs +++ b/src/Java.Interop/Java.Interop/JniRuntime.JniValueManager.cs @@ -62,17 +62,17 @@ protected virtual void Dispose (bool disposing) public abstract void WaitForGCBridgeProcessing (); - public abstract void Collect (); + public abstract void CollectPeers (); - public abstract void Add (IJavaPeerable value); + public abstract void AddPeer (IJavaPeerable value); - public abstract void Remove (IJavaPeerable value); + public abstract void RemovePeer (IJavaPeerable value); - public abstract void Finalize (IJavaPeerable value); + public abstract void FinalizePeer (IJavaPeerable value); public abstract List GetSurfacedPeers (); - public void Construct (IJavaPeerable peer, ref JniObjectReference reference, JniObjectReferenceOptions options) + public void ConstructPeer (IJavaPeerable peer, ref JniObjectReference reference, JniObjectReferenceOptions options) { if (peer == null) throw new ArgumentNullException (nameof (peer)); @@ -112,7 +112,7 @@ public void Construct (IJavaPeerable peer, ref JniObjectReference reference, Jni } if ((options & DoNotRegisterTarget) != DoNotRegisterTarget) { - Add (peer); + AddPeer (peer); } } @@ -121,7 +121,7 @@ public int GetJniIdentityHashCode (JniObjectReference reference) return JniSystem.IdentityHashCode (reference); } - public virtual void Dispose (IJavaPeerable value) + public virtual void DisposePeer (IJavaPeerable value) { if (value == null) throw new ArgumentNullException (nameof (value)); @@ -130,13 +130,13 @@ public virtual void Dispose (IJavaPeerable value) if (!h.IsValid) return; - Dispose (h, value); + DisposePeer (h, value); } - void Dispose (JniObjectReference h, IJavaPeerable value) + void DisposePeer (JniObjectReference h, IJavaPeerable value) { value.Disposed (); - Remove (value); + RemovePeer (value); var o = Runtime.ObjectReferenceManager; if (o.LogGlobalReferenceMessages) { o.WriteGlobalReferenceLine ("Disposing PeerReference={0} IdentityHashCode=0x{1} Instance=0x{2} Instance.Type={3} Java.Type={4}", @@ -160,7 +160,7 @@ void Dispose (JniObjectReference h, IJavaPeerable value) GC.SuppressFinalize (value); } - public virtual void DisposeUnlessReferenced (IJavaPeerable value) + public virtual void DisposePeerUnlessReferenced (IJavaPeerable value) { if (value == null) throw new ArgumentNullException (nameof (value)); @@ -173,7 +173,7 @@ public virtual void DisposeUnlessReferenced (IJavaPeerable value) if (o != null && object.ReferenceEquals (o, value)) return; - Dispose (h, value); + DisposePeer (h, value); } public abstract IJavaPeerable PeekPeer (JniObjectReference reference); @@ -188,12 +188,12 @@ public object PeekValue (JniObjectReference reference) return t; object r; - return TryUnboxObject (t, out r) + return TryUnboxPeerObject (t, out r) ? r : t; } - protected virtual bool TryUnboxObject (IJavaPeerable value, out object result) + protected virtual bool TryUnboxPeerObject (IJavaPeerable value, out object result) { result = null; var p = value as JavaProxyObject; @@ -215,7 +215,7 @@ object PeekBoxedObject (JniObjectReference reference) if (t == null) return null; object r; - return TryUnboxObject (t, out r) + return TryUnboxPeerObject (t, out r) ? r : null; } diff --git a/src/Java.Interop/Tests/Java.Interop/JavaManagedGCBridgeTests.cs b/src/Java.Interop/Tests/Java.Interop/JavaManagedGCBridgeTests.cs index 443d59f3a..245c299f0 100644 --- a/src/Java.Interop/Tests/Java.Interop/JavaManagedGCBridgeTests.cs +++ b/src/Java.Interop/Tests/Java.Interop/JavaManagedGCBridgeTests.cs @@ -21,7 +21,7 @@ public void CrossReferences () t.Start (); t.Join (); - JniEnvironment.Runtime.ValueManager.Collect (); + JniEnvironment.Runtime.ValueManager.CollectPeers (); CrossReferenceBridge a, b; a = b = null; Console.WriteLine ("try get A {0}", root.TryGetTarget (out a)); diff --git a/src/Java.Interop/Tests/Java.Interop/JavaObjectArrayTest.cs b/src/Java.Interop/Tests/Java.Interop/JavaObjectArrayTest.cs index f0c07fc33..95fe1f2aa 100644 --- a/src/Java.Interop/Tests/Java.Interop/JavaObjectArrayTest.cs +++ b/src/Java.Interop/Tests/Java.Interop/JavaObjectArrayTest.cs @@ -145,7 +145,7 @@ public void EndCheckGlobalRefCount () int gref = JniEnvironment.Runtime.GlobalReferenceCount; Assert.IsTrue (gref <= (grefStartCount), string.Format ("JNI global references: grefStartCount={0}; gref={1}", grefStartCount, gref)); - JniEnvironment.Runtime.ValueManager.Collect (); + JniEnvironment.Runtime.ValueManager.CollectPeers (); } [Test] diff --git a/src/Java.Interop/Tests/Java.Interop/JavaObjectTest.cs b/src/Java.Interop/Tests/Java.Interop/JavaObjectTest.cs index 9d7dbc018..244de001e 100644 --- a/src/Java.Interop/Tests/Java.Interop/JavaObjectTest.cs +++ b/src/Java.Interop/Tests/Java.Interop/JavaObjectTest.cs @@ -24,7 +24,7 @@ public void JavaReferencedInstanceSurvivesCollection () }); w.Start (); w.Join (); - JniEnvironment.Runtime.ValueManager.Collect (); + JniEnvironment.Runtime.ValueManager.CollectPeers (); GC.WaitForPendingFinalizers (); GC.WaitForPendingFinalizers (); var first = array [0]; @@ -84,7 +84,7 @@ public void UnreferencedInstanceIsCollected () }); t.Start (); t.Join (); - JniEnvironment.Runtime.ValueManager.Collect (); + JniEnvironment.Runtime.ValueManager.CollectPeers (); GC.WaitForPendingFinalizers (); GC.WaitForPendingFinalizers (); Assert.IsFalse (r.IsAlive); @@ -115,9 +115,9 @@ public void Dispose_Finalized () }); t.Start (); t.Join (); - JniEnvironment.Runtime.ValueManager.Collect (); + JniEnvironment.Runtime.ValueManager.CollectPeers (); GC.WaitForPendingFinalizers (); - JniEnvironment.Runtime.ValueManager.Collect (); + JniEnvironment.Runtime.ValueManager.CollectPeers (); GC.WaitForPendingFinalizers (); Assert.IsFalse (d); Assert.IsTrue (f); diff --git a/src/Java.Interop/Tests/Java.Interop/JniRuntime.JniValueManagerTests.cs b/src/Java.Interop/Tests/Java.Interop/JniRuntime.JniValueManagerTests.cs index e48a9c8d8..9e99c1540 100644 --- a/src/Java.Interop/Tests/Java.Interop/JniRuntime.JniValueManagerTests.cs +++ b/src/Java.Interop/Tests/Java.Interop/JniRuntime.JniValueManagerTests.cs @@ -34,19 +34,19 @@ public override void WaitForGCBridgeProcessing () { } - public override void Collect () + public override void CollectPeers () { } - public override void Add (IJavaPeerable reference) + public override void AddPeer (IJavaPeerable reference) { } - public override void Remove (IJavaPeerable reference) + public override void RemovePeer (IJavaPeerable reference) { } - public override void Finalize (IJavaPeerable reference) + public override void FinalizePeer (IJavaPeerable reference) { } diff --git a/src/Java.Interop/Tests/Java.Interop/JniRuntimeTest.cs b/src/Java.Interop/Tests/Java.Interop/JniRuntimeTest.cs index fce80394c..e59ef028b 100644 --- a/src/Java.Interop/Tests/Java.Interop/JniRuntimeTest.cs +++ b/src/Java.Interop/Tests/Java.Interop/JniRuntimeTest.cs @@ -129,15 +129,15 @@ public override int WeakGlobalReferenceCount { class ProxyValueManager : JniValueManager { - public override void Add (IJavaPeerable peer) + public override void AddPeer (IJavaPeerable peer) { } - public override void Collect () + public override void CollectPeers () { } - public override void Finalize (IJavaPeerable peer) + public override void FinalizePeer (IJavaPeerable peer) { } @@ -151,7 +151,7 @@ public override IJavaPeerable PeekPeer (JniObjectReference reference) return null; } - public override void Remove (IJavaPeerable peer) + public override void RemovePeer (IJavaPeerable peer) { } diff --git a/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs b/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs index 04fa519c9..66ab25ded 100644 --- a/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs +++ b/src/Java.Runtime.Environment/Java.Interop/MonoRuntimeValueManager.cs @@ -59,7 +59,7 @@ public override void WaitForGCBridgeProcessing () NativeMethods.java_interop_gc_bridge_wait_for_bridge_processing (bridge); } - public override void Collect () + public override void CollectPeers () { GC.Collect (); } @@ -101,7 +101,7 @@ public override List GetSurfacedPeers () } } - public override void Add (IJavaPeerable value) + public override void AddPeer (IJavaPeerable value) { var r = value.PeerReference; if (!r.IsValid) @@ -169,7 +169,7 @@ static bool Replaceable (IJavaPeerable peer) return (peer.JniManagedPeerState & JniManagedPeerStates.Replaceable) == JniManagedPeerStates.Replaceable; } - public override void Remove (IJavaPeerable value) + public override void RemovePeer (IJavaPeerable value) { if (value == null) throw new ArgumentNullException (nameof (value)); @@ -226,7 +226,7 @@ public override IJavaPeerable PeekPeer (JniObjectReference reference) return null; } - public override void Finalize (IJavaPeerable value) + public override void FinalizePeer (IJavaPeerable value) { var h = value.PeerReference; var o = Runtime.ObjectReferenceManager; @@ -242,7 +242,7 @@ public override void Finalize (IJavaPeerable value) RuntimeHelpers.GetHashCode (value).ToString ("x"), value.GetType ().ToString ()); } - Remove (value); + RemovePeer (value); value.SetPeerReference (new JniObjectReference ()); value.Finalized (); return; @@ -251,7 +251,7 @@ public override void Finalize (IJavaPeerable value) try { bool collected = TryGC (value, ref h); if (collected) { - Remove (value); + RemovePeer (value); value.SetPeerReference (new JniObjectReference ()); if (o.LogGlobalReferenceMessages) { o.WriteGlobalReferenceLine ("Finalizing PeerReference={0} IdentityHashCode=0x{1} Instance=0x{2} Instance.Type={3}",