|
From: <sp...@us...> - 2011-10-13 16:54:04
|
Revision: 3670
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3670&view=rev
Author: spasi
Date: 2011-10-13 16:53:53 +0000 (Thu, 13 Oct 2011)
Log Message:
-----------
Fixed signatures: CharSequence[] parameters and ByteBuffer returns.
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/util/generator/JNITypeTranslator.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/RegisterStubsGenerator.java
trunk/LWJGL/src/java/org/lwjgl/util/generator/SignatureTranslator.java
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/JNITypeTranslator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/JNITypeTranslator.java 2011-10-12 22:31:12 UTC (rev 3669)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/JNITypeTranslator.java 2011-10-13 16:53:53 UTC (rev 3670)
@@ -69,7 +69,7 @@
public void visitArrayType(ArrayType t) {
final String className = t.getComponentType().toString();
if ( "java.lang.CharSequence".equals(className) )
- signature.append("jobject");
+ signature.append("jlong");
else if ( "java.nio.ByteBuffer".equals(className) )
signature.append("jobjectArray");
else if ( "org.lwjgl.opencl.CLMem".equals(className) )
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/RegisterStubsGenerator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/RegisterStubsGenerator.java 2011-10-12 22:31:12 UTC (rev 3669)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/RegisterStubsGenerator.java 2011-10-13 16:53:53 UTC (rev 3670)
@@ -101,10 +101,11 @@
final CachedResult cached_result_annotation = method.getAnnotation(CachedResult.class);
final AutoSize auto_size_annotation = method.getAnnotation(AutoSize.class);
- if ( Utils.getNIOBufferType(result_type) != null && (auto_size_annotation == null || !auto_size_annotation.isNative()) )
+ final boolean isNIOBuffer = Utils.getNIOBufferType(result_type) != null;
+ if ( isNIOBuffer && (auto_size_annotation == null || !auto_size_annotation.isNative()) )
signature += "J";
- String result_type_signature = getTypeSignature(result_type, false);
+ final String result_type_signature = isNIOBuffer ? "Ljava/nio/ByteBuffer;" : getTypeSignature(result_type, false);
if ( cached_result_annotation != null )
signature += result_type_signature;
Modified: trunk/LWJGL/src/java/org/lwjgl/util/generator/SignatureTranslator.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/util/generator/SignatureTranslator.java 2011-10-12 22:31:12 UTC (rev 3669)
+++ trunk/LWJGL/src/java/org/lwjgl/util/generator/SignatureTranslator.java 2011-10-13 16:53:53 UTC (rev 3670)
@@ -71,7 +71,7 @@
public void visitArrayType(ArrayType t) {
final Class type = Utils.getJavaType(t.getComponentType());
if ( CharSequence.class.isAssignableFrom(type) )
- signature.append("Ljava/nio/ByteBuffer;I");
+ signature.append("J");
else if ( Buffer.class.isAssignableFrom(type) )
signature.append("[Ljava/nio/ByteBuffer;");
else if ( org.lwjgl.PointerWrapper.class.isAssignableFrom(type) )
@@ -82,18 +82,16 @@
public void visitClassType(ClassType t) {
Class type = NativeTypeTranslator.getClassFromType(t);
- String type_name;
- if ( (CharSequence.class.isAssignableFrom(type) && !String.class.equals(type)) || CharSequence[].class.isAssignableFrom(type) || PointerBuffer.class.isAssignableFrom(type) )
- type_name = ByteBuffer.class.getName();
- else if ( org.lwjgl.PointerWrapper.class.isAssignableFrom(type) ) {
- signature.append("J");
- return;
- } else
- type_name = t.getDeclaration().getQualifiedName();
- if ( Utils.isAddressableType(type) && !String.class.equals(type) )
+ if ( org.lwjgl.PointerWrapper.class.isAssignableFrom(type) || (Utils.isAddressableType(type) && !String.class.equals(type)) )
signature.append("J");
else {
+ String type_name;
+ if ( (CharSequence.class.isAssignableFrom(type) && !String.class.equals(type)) || CharSequence[].class.isAssignableFrom(type) || PointerBuffer.class.isAssignableFrom(type) )
+ type_name = ByteBuffer.class.getName();
+ else
+ type_name = t.getDeclaration().getQualifiedName();
+
signature.append("L");
signature.append(getNativeNameFromClassName(type_name));
signature.append(";");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|