This is an automated email from the git hooks/post-receive script. tpot-guest pushed a commit to tag 0.6.5 in repository jffi-next.
commit 2e3e30f7687de488607cbc47a3e03650409ce68c Author: Wayne Meissner <[email protected]> Date: Mon Aug 24 08:12:16 2009 +1000 Make Array, Struct, Union all inherit from Aggregate, to centralize the cleanup (cherry picked from commit 4f12f2165612c1031cea0d6da141c06792c5afd2) --- src/com/kenai/jffi/Aggregate.java | 18 ++++++++++++++++++ src/com/kenai/jffi/Array.java | 11 +---------- src/com/kenai/jffi/Struct.java | 11 +---------- src/com/kenai/jffi/Union.java | 11 +---------- 4 files changed, 21 insertions(+), 30 deletions(-) diff --git a/src/com/kenai/jffi/Aggregate.java b/src/com/kenai/jffi/Aggregate.java new file mode 100644 index 0000000..3264453 --- /dev/null +++ b/src/com/kenai/jffi/Aggregate.java @@ -0,0 +1,18 @@ + +package com.kenai.jffi; + +public abstract class Aggregate extends Type { + + public Aggregate(long handle) { + super(handle); + } + + @Override + protected void finalize() throws Throwable { + try { + Foreign.getInstance().freeStruct(handle); + } finally { + super.finalize(); + } + } +} diff --git a/src/com/kenai/jffi/Array.java b/src/com/kenai/jffi/Array.java index de4280d..a638ae1 100644 --- a/src/com/kenai/jffi/Array.java +++ b/src/com/kenai/jffi/Array.java @@ -4,7 +4,7 @@ package com.kenai.jffi; /** * Describes the layout of a C array */ -public final class Array extends Type { +public final class Array extends Aggregate { /* Keep a strong reference to the element types so it is not GCed */ private final Type elementType; @@ -53,13 +53,4 @@ public final class Array extends Type { public final int length() { return length; } - - @Override - protected void finalize() throws Throwable { - try { - Foreign.getInstance().freeStruct(handle); - } finally { - super.finalize(); - } - } } diff --git a/src/com/kenai/jffi/Struct.java b/src/com/kenai/jffi/Struct.java index df10791..c693223 100644 --- a/src/com/kenai/jffi/Struct.java +++ b/src/com/kenai/jffi/Struct.java @@ -4,7 +4,7 @@ package com.kenai.jffi; /** * Describes the layout of a C struct */ -public final class Struct extends Type { +public final class Struct extends Aggregate { /* Keep a strong reference to the field types so they do not GCed */ private final Type[] fields; @@ -17,13 +17,4 @@ public final class Struct extends Type { super(Foreign.getInstance().newStruct(Type.nativeHandles(fields), false)); this.fields = (Type[]) fields.clone(); } - - @Override - protected void finalize() throws Throwable { - try { - Foreign.getInstance().freeStruct(handle); - } finally { - super.finalize(); - } - } } diff --git a/src/com/kenai/jffi/Union.java b/src/com/kenai/jffi/Union.java index 28d2ae9..1575d5e 100644 --- a/src/com/kenai/jffi/Union.java +++ b/src/com/kenai/jffi/Union.java @@ -4,7 +4,7 @@ package com.kenai.jffi; /** * Describes the layout of a C union */ -public final class Union extends Type { +public final class Union extends Aggregate { /* Keep a strong reference to the field types so they do not GCed */ private final Type[] fields; @@ -17,13 +17,4 @@ public final class Union extends Type { super(Foreign.getInstance().newStruct(Type.nativeHandles(fields), true)); this.fields = (Type[]) fields.clone(); } - - @Override - protected void finalize() throws Throwable { - try { - Foreign.getInstance().freeStruct(handle); - } finally { - super.finalize(); - } - } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jffi-next.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

