From 2774a8f679c63be0aed88de6ddc131d995871766 Mon Sep 17 00:00:00 2001 From: shadowislord Date: Fri, 6 Jun 2014 13:15:52 -0400 Subject: [PATCH] * Use relative path to find renderer source code for GLAutoGen --- .../java/jme3tools/autogen/GLAutoGen.java | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/jme3-gl-autogen/src/main/java/jme3tools/autogen/GLAutoGen.java b/jme3-gl-autogen/src/main/java/jme3tools/autogen/GLAutoGen.java index b2ec909fb..a331f07fe 100644 --- a/jme3-gl-autogen/src/main/java/jme3tools/autogen/GLAutoGen.java +++ b/jme3-gl-autogen/src/main/java/jme3tools/autogen/GLAutoGen.java @@ -1,6 +1,7 @@ package jme3tools.autogen; import java.io.BufferedReader; +import java.io.File; import java.io.FileReader; import java.io.IOException; import java.lang.reflect.Field; @@ -58,9 +59,9 @@ public class GLAutoGen { + '}'; } } - + private static class MethodInfo { - + Class declaringClazz; String methodName; Class returnType; @@ -84,10 +85,10 @@ public class GLAutoGen { private static final HashMap> methodMap = new HashMap>(); - + private static final TreeSet usedConstants = new TreeSet(); private static final TreeSet usedMethods = new TreeSet(); - + private static void scanConstantsFromType(Class clazz) { Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { @@ -95,11 +96,11 @@ public class GLAutoGen { String name = field.getName(); Class type = field.getType(); Object value = null; - + if (constantMap.containsKey(name)) { throw new UnsupportedOperationException(name + " constant redeclared"); } - + if (type == int.class) { try { value = field.getInt(null); @@ -120,7 +121,7 @@ public class GLAutoGen { } } } - + private static void scanMethodsFromType(Class clazz) { Method[] methods = clazz.getDeclaredMethods(); for (Method method : methods) { @@ -128,14 +129,14 @@ public class GLAutoGen { String name = method.getName(); Class type = method.getReturnType(); Class[] paramTypes = method.getParameterTypes(); - + List overloads = methodMap.get(name); - + if (overloads == null) { overloads = new ArrayList(); methodMap.put(name, overloads); } - + MethodInfo info = new MethodInfo(clazz, name, type, paramTypes); overloads.add(info); } @@ -146,7 +147,7 @@ public class GLAutoGen { scanConstantsFromType(clazz); scanMethodsFromType(clazz); } - + private static Collection scanConstants(String line) { List constants = new ArrayList(); int next_gl = line.indexOf("GL_"); @@ -241,22 +242,22 @@ public class GLAutoGen { if (info == null) { throw new IllegalStateException("Cannot find required constant: " + constant); } - + String typeStr = info.constantType.toString(); String valueStr = null; - + if (info.constantType == int.class) { - valueStr = "0x" + Integer.toHexString((Integer)info.constantValue).toUpperCase(); + valueStr = "0x" + Integer.toHexString((Integer) info.constantValue).toUpperCase(); } else if (info.constantType == long.class) { - valueStr = "0x" + Long.toHexString((Long)info.constantValue).toUpperCase(); + valueStr = "0x" + Long.toHexString((Long) info.constantValue).toUpperCase(); } - + System.out.println("\tpublic static final " + typeStr + " " + info.constantName + " = " + valueStr + ";"); } System.out.println("// -- end constants"); System.out.println(); System.out.println("// -- begin methods"); - + for (String method : usedMethods) { List infos = methodMap.get(method); if (infos == null) { @@ -275,16 +276,15 @@ public class GLAutoGen { System.out.println(");"); } } - + System.out.println("// -- end methods"); System.out.println(); System.out.println("}"); } - + public static void main(String[] args) throws IOException { - String lwjgl = "D:\\engine\\jme3-lwjgl\\src\\main\\java\\com\\jme3\\renderer\\lwjgl\\LwjglRenderer.java"; - String jogl = "D:\\engine\\jme3-jogl\\src\\main\\java\\com\\jme3\\renderer\\jogl\\JoglRenderer.java"; - String ogles = "D:\\engine\\jme3-android\\src\\main\\java\\com\\jme3\\renderer\\android\\OGLESShaderRenderer.java"; + String path = "../jme3-lwjgl/src/main/java/com/jme3/renderer/lwjgl/LwjglRenderer.java"; + File lwjglRendererSrc = new File(path).getAbsoluteFile(); scanType(GL11.class); scanType(GL14.class); @@ -305,9 +305,9 @@ public class GLAutoGen { scanType(EXTTextureFilterAnisotropic.class); scanType(ARBDrawInstanced.class); scanType(ARBInstancedArrays.class); - - scanFile(lwjgl); - + + scanFile(lwjglRendererSrc.toString()); + exportInterface(); } }