|
6 | 6 |
|
7 | 7 | namespace SwiftRuntimeLibrary { |
8 | 8 | public abstract class SwiftNativeObject : SwiftNativeInstance, ISwiftObject { |
9 | | - IntPtr handle; |
10 | | - SwiftMetatype class_handle; |
11 | | - SwiftObjectFlags object_flags = SwiftObjectFlags.IsSwift; |
| 9 | + IntPtr handle; |
| 10 | + SwiftMetatype class_handle; |
| 11 | + SwiftObjectFlags object_flags = SwiftObjectFlags.IsSwift; |
12 | 12 |
|
13 | | - protected SwiftNativeObject (IntPtr handle, SwiftMetatype classHandle, SwiftObjectRegistry registry) |
14 | | - { |
15 | | - if (SwiftNativeObjectAttribute.IsSwiftNativeObject (this)) { |
16 | | - object_flags |= SwiftObjectFlags.IsDirectBinding; |
| 13 | + protected SwiftNativeObject (IntPtr handle, SwiftMetatype classHandle, SwiftObjectRegistry registry) |
| 14 | + { |
| 15 | + if (SwiftNativeObjectAttribute.IsSwiftNativeObject (this)) { |
| 16 | + object_flags |= SwiftObjectFlags.IsDirectBinding; |
| 17 | + } |
| 18 | + class_handle = classHandle; |
| 19 | + SwiftObject = handle; |
| 20 | + registry.Add (this); |
17 | 21 | } |
18 | | - class_handle = classHandle; |
19 | | - SwiftObject = handle; |
20 | | - registry.Add (this); |
21 | | - } |
22 | 22 |
|
23 | | - protected override void Dispose (bool disposing) |
24 | | - { |
25 | | - if ((object_flags & SwiftObjectFlags.Disposed) != SwiftObjectFlags.Disposed) { |
26 | | - if (disposing) { |
27 | | - DisposeManagedResources (); |
| 23 | + protected override void Dispose (bool disposing) |
| 24 | + { |
| 25 | + if ((object_flags & SwiftObjectFlags.Disposed) != SwiftObjectFlags.Disposed) { |
| 26 | + if (disposing) { |
| 27 | + DisposeManagedResources (); |
| 28 | + } |
| 29 | + DisposeUnmanagedResources (); |
| 30 | + SwiftObjectRegistry.Registry.RemoveAndWeakRelease (this); |
| 31 | + object_flags |= SwiftObjectFlags.Disposed; |
28 | 32 | } |
29 | | - DisposeUnmanagedResources (); |
30 | | - SwiftObjectRegistry.Registry.RemoveAndWeakRelease (this); |
31 | | - object_flags |= SwiftObjectFlags.Disposed; |
32 | 33 | } |
33 | | - } |
34 | 34 |
|
35 | | - protected virtual void DisposeManagedResources () |
36 | | - { |
37 | | - } |
38 | | - |
39 | | - protected virtual void DisposeUnmanagedResources () |
40 | | - { |
41 | | - SwiftCore.Release (SwiftObject); |
42 | | - } |
| 35 | + protected virtual void DisposeManagedResources () |
| 36 | + { |
| 37 | + } |
43 | 38 |
|
44 | | - public IntPtr SwiftObject { |
45 | | - get { |
46 | | - return handle; |
| 39 | + protected virtual void DisposeUnmanagedResources () |
| 40 | + { |
| 41 | + SwiftCore.Release (SwiftObject); |
47 | 42 | } |
48 | | - private set { |
49 | | - handle = value; |
| 43 | + |
| 44 | + public IntPtr SwiftObject { |
| 45 | + get { |
| 46 | + return handle; |
| 47 | + } |
| 48 | + private set { |
| 49 | + handle = value; |
| 50 | + } |
50 | 51 | } |
51 | 52 | } |
52 | 53 | } |
53 | | -} |
0 commit comments