From: <eli...@us...> - 2007-04-11 16:13:08
|
Revision: 2762 http://svn.sourceforge.net/java-game-lib/?rev=2762&view=rev Author: elias_naur Date: 2007-04-11 09:13:05 -0700 (Wed, 11 Apr 2007) Log Message: ----------- Moved null check from generated code to BufferChecks and removed unused buffer checks Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java Modified: trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java 2007-04-08 21:33:35 UTC (rev 2761) +++ trunk/LWJGL/src/java/org/lwjgl/BufferChecks.java 2007-04-11 16:13:05 UTC (rev 2762) @@ -124,23 +124,6 @@ /** * Helper methods to ensure a buffer is direct (and, implicitly, non-null). */ - public static void checkDirectBuffer(Buffer buf) { - if (buf instanceof FloatBuffer) - checkDirect((FloatBuffer)buf); - else if (buf instanceof ByteBuffer) - checkDirect((ByteBuffer)buf); - else if (buf instanceof ShortBuffer) - checkDirect((ShortBuffer)buf); - else if (buf instanceof IntBuffer) - checkDirect((IntBuffer)buf); - else if (buf instanceof LongBuffer) - checkDirect((LongBuffer)buf); - else if (buf instanceof DoubleBuffer) - checkDirect((DoubleBuffer)buf); - else - throw new IllegalStateException("Unsupported buffer type"); - } - public static void checkDirect(ByteBuffer buf) { if (!buf.isDirect()) { throw new IllegalArgumentException("ByteBuffer is not direct"); @@ -231,36 +214,41 @@ } /** - * Helper methods to ensure a buffer is big enough to receive data from a - * glGet* operation. To avoid unnecessarily complex buffer size checking - * we've just set the bar artificially high and insist that any receiving - * buffer has at least 4 remaining(). - * - * @param buf - * The buffer to check - * @throws IllegalArgumentException + * Helper methods to ensure a buffer is direct, has a minimum size or null. */ - public static void checkBuffer(ByteBuffer buf) { - checkBuffer(buf, DEFAULT_BUFFER_SIZE); + public static void checkBufferOrNull(ByteBuffer buf, int size) { + if (buf != null) { + checkBuffer(buf, size); + } } - public static void checkBuffer(ShortBuffer buf) { - checkBuffer(buf, DEFAULT_BUFFER_SIZE); + public static void checkBufferOrNull(ShortBuffer buf, int size) { + if (buf != null) { + checkBuffer(buf, size); + } } - public static void checkBuffer(IntBuffer buf) { - checkBuffer(buf, DEFAULT_BUFFER_SIZE); + public static void checkBufferOrNull(IntBuffer buf, int size) { + if (buf != null) { + checkBuffer(buf, size); + } } - public static void checkBuffer(LongBuffer buf) { - checkBuffer(buf, DEFAULT_BUFFER_SIZE); + public static void checkBufferOrNull(LongBuffer buf, int size) { + if (buf != null) { + checkBuffer(buf, size); + } } - public static void checkBuffer(FloatBuffer buf) { - checkBuffer(buf, DEFAULT_BUFFER_SIZE); + public static void checkBufferOrNull(FloatBuffer buf, int size) { + if (buf != null) { + checkBuffer(buf, size); + } } - public static void checkBuffer(DoubleBuffer buf) { - checkBuffer(buf, DEFAULT_BUFFER_SIZE); + public static void checkBufferOrNull(DoubleBuffer buf, int size) { + if (buf != null) { + checkBuffer(buf, size); + } } } Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-08 21:33:35 UTC (rev 2761) +++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JavaMethodsGenerator.java 2007-04-11 16:13:05 UTC (rev 2762) @@ -437,15 +437,16 @@ } private static void printParameterCheck(PrintWriter writer, String name, String check_value, boolean can_be_null, boolean null_terminated) { - if (can_be_null) { - writer.println("\t\tif (" + name + " != null)"); - writer.print("\t"); - } writer.print("\t\tBufferChecks.check"); if (check_value != null && !"".equals(check_value) ) { - writer.print("Buffer(" + name + ", " + check_value); + writer.print("Buffer"); + if (can_be_null) + writer.print("OrNull"); + writer.print("(" + name + ", " + check_value); } else { writer.print("Direct"); + if (can_be_null) + writer.print("OrNull"); writer.print("(" + name); } writer.println(");"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |