From d9373a798a39a47e59d99b3a9742105429228af9 Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Sun, 15 Apr 2007 19:43:35 +0000 Subject: [PATCH] Move null parameter checks from check classes to the generated classes, since calculateImageSize assumes the buffer being non-null --- src/java/org/lwjgl/BufferChecks.java | 78 ------------------- .../org/lwjgl/NondirectBufferWrapper.java | 72 ----------------- .../util/generator/JavaMethodsGenerator.java | 14 ++-- 3 files changed, 6 insertions(+), 158 deletions(-) diff --git a/src/java/org/lwjgl/BufferChecks.java b/src/java/org/lwjgl/BufferChecks.java index ed909e35..7b69e648 100644 --- a/src/java/org/lwjgl/BufferChecks.java +++ b/src/java/org/lwjgl/BufferChecks.java @@ -84,45 +84,6 @@ public class BufferChecks { throw new IllegalArgumentException("Null argument"); } - /** - * Helper methods to ensure a buffer is direct or null. - */ - public static void checkDirectOrNull(ByteBuffer buf) { - if (buf != null) { - checkDirect(buf); - } - } - - public static void checkDirectOrNull(ShortBuffer buf) { - if (buf != null) { - checkDirect(buf); - } - } - - public static void checkDirectOrNull(IntBuffer buf) { - if (buf != null) { - checkDirect(buf); - } - } - - public static void checkDirectOrNull(LongBuffer buf) { - if (buf != null) { - checkDirect(buf); - } - } - - public static void checkDirectOrNull(FloatBuffer buf) { - if (buf != null) { - checkDirect(buf); - } - } - - public static void checkDirectOrNull(DoubleBuffer buf) { - if (buf != null) { - checkDirect(buf); - } - } - /** * Helper methods to ensure a buffer is direct (and, implicitly, non-null). */ @@ -214,43 +175,4 @@ public class BufferChecks { checkBufferSize(buf, size); checkDirect(buf); } - - /** - * Helper methods to ensure a buffer is direct, has a minimum size or null. - */ - public static void checkBufferOrNull(ByteBuffer buf, int size) { - if (buf != null) { - checkBuffer(buf, size); - } - } - - public static void checkBufferOrNull(ShortBuffer buf, int size) { - if (buf != null) { - checkBuffer(buf, size); - } - } - - public static void checkBufferOrNull(IntBuffer buf, int size) { - if (buf != null) { - checkBuffer(buf, size); - } - } - - public static void checkBufferOrNull(LongBuffer buf, int size) { - if (buf != null) { - checkBuffer(buf, size); - } - } - - public static void checkBufferOrNull(FloatBuffer buf, int size) { - if (buf != null) { - checkBuffer(buf, size); - } - } - - public static void checkBufferOrNull(DoubleBuffer buf, int size) { - if (buf != null) { - checkBuffer(buf, size); - } - } } diff --git a/src/java/org/lwjgl/NondirectBufferWrapper.java b/src/java/org/lwjgl/NondirectBufferWrapper.java index b7ddce55..1407943e 100644 --- a/src/java/org/lwjgl/NondirectBufferWrapper.java +++ b/src/java/org/lwjgl/NondirectBufferWrapper.java @@ -67,42 +67,6 @@ public final class NondirectBufferWrapper { return buffers; } - public static ByteBuffer wrapBufferOrNull(ByteBuffer buf, int size) { - if (buf != null) - return wrapBuffer(buf, size); - return buf; - } - - public static ShortBuffer wrapBufferOrNull(ShortBuffer buf, int size) { - if (buf != null) - return wrapBuffer(buf, size); - return buf; - } - - public static IntBuffer wrapBufferOrNull(IntBuffer buf, int size) { - if (buf != null) - return wrapBuffer(buf, size); - return buf; - } - - public static LongBuffer wrapBufferOrNull(LongBuffer buf, int size) { - if (buf != null) - return wrapBuffer(buf, size); - return buf; - } - - public static FloatBuffer wrapBufferOrNull(FloatBuffer buf, int size) { - if (buf != null) - return wrapBuffer(buf, size); - return buf; - } - - public static DoubleBuffer wrapBufferOrNull(DoubleBuffer buf, int size) { - if (buf != null) - return wrapBuffer(buf, size); - return buf; - } - public static ByteBuffer wrapBuffer(ByteBuffer buf, int size) { BufferChecks.checkBufferSize(buf, size); return wrapDirect(buf); @@ -133,42 +97,6 @@ public final class NondirectBufferWrapper { return wrapDirect(buf); } - public static ByteBuffer wrapDirectOrNull(ByteBuffer buffer) { - if (buffer != null) - return wrapDirect(buffer); - return buffer; - } - - public static ShortBuffer wrapDirectOrNull(ShortBuffer buffer) { - if (buffer != null) - return wrapDirect(buffer); - return buffer; - } - - public static FloatBuffer wrapDirectOrNull(FloatBuffer buffer) { - if (buffer != null) - return wrapDirect(buffer); - return buffer; - } - - public static IntBuffer wrapDirectOrNull(IntBuffer buffer) { - if (buffer != null) - return wrapDirect(buffer); - return buffer; - } - - public static LongBuffer wrapDirectOrNull(LongBuffer buffer) { - if (buffer != null) - return wrapDirect(buffer); - return buffer; - } - - public static DoubleBuffer wrapDirectOrNull(DoubleBuffer buffer) { - if (buffer != null) - return wrapDirect(buffer); - return buffer; - } - public static ByteBuffer wrapDirect(ByteBuffer buffer) { if (!buffer.isDirect()) return doWrap(buffer); diff --git a/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java b/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java index 6ea699a7..c64b2d26 100644 --- a/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java +++ b/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java @@ -438,20 +438,18 @@ public class JavaMethodsGenerator { } private static void printParameterCheck(PrintWriter writer, String name, String check_value, boolean can_be_null, boolean null_terminated, boolean indirect_buffer_allowed) { + if (can_be_null) { + writer.println("\t\tif (" + name + " != null)"); + writer.print("\t"); + } if (indirect_buffer_allowed) writer.print("\t\t" + name + " = NondirectBufferWrapper.wrap"); else writer.print("\t\tBufferChecks.check"); if (check_value != null && !"".equals(check_value) ) { - writer.print("Buffer"); - if (can_be_null) - writer.print("OrNull"); - writer.print("(" + name + ", " + check_value); + writer.print("Buffer(" + name + ", " + check_value); } else { - writer.print("Direct"); - if (can_be_null) - writer.print("OrNull"); - writer.print("(" + name); + writer.print("Direct(" + name); } writer.println(");"); if (null_terminated)