summaryrefslogtreecommitdiffstats
path: root/bundles
diff options
context:
space:
mode:
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupConstants.java7
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupNatives.java7
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ConstantsGenerator.java8
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGenerator.java86
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java7
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java23
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativeTest.java28
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java75
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/SizeofGenerator.java10
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructTest.java18
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java94
11 files changed, 136 insertions, 227 deletions
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupConstants.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupConstants.java
index 06aaa2c101..b1d57a68b8 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupConstants.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupConstants.java
@@ -38,12 +38,7 @@ public void generate(Class clazz) {
}
public void generate(Field[] fields) {
- Arrays.sort(fields, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Field)a).getName().compareTo(((Field)b).getName());
- }
- });
-
+ sort(fields);
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
if ((field.getModifiers() & Modifier.FINAL) == 0) continue;
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupNatives.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupNatives.java
index 0e908795b1..dab69df6ee 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupNatives.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/CleanupNatives.java
@@ -57,12 +57,7 @@ public void generate(Class clazz) {
}
public void generate(Method[] methods) {
- Arrays.sort(methods, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Method)a).getName().compareTo(((Method)b).getName());
- }
- });
-
+ sort(methods);
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];
if ((method.getModifiers() & Modifier.NATIVE) == 0) continue;
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ConstantsGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ConstantsGenerator.java
index f22228b998..68ca6acd16 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ConstantsGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ConstantsGenerator.java
@@ -11,7 +11,6 @@
package org.eclipse.swt.tools.internal;
import java.lang.reflect.*;
-import java.util.*;
public class ConstantsGenerator extends JNIGenerator {
@@ -21,12 +20,7 @@ public void generate(Class clazz) {
}
public void generate(Field[] fields) {
- Arrays.sort(fields, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Field)a).getName().compareTo(((Field)b).getName());
- }
- });
-
+ sort(fields);
output("int main() {");
outputDelimiter();
for (int i = 0; i < fields.length; i++) {
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGenerator.java
index ab4f1a4d83..5c10a01fc8 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGenerator.java
@@ -176,6 +176,49 @@ static boolean isUnique(Method method, int modifierMask) {
return true;
}
+static void sort(Method[] methods) {
+ Arrays.sort(methods, new Comparator() {
+ public int compare(Object a, Object b) {
+ Method mth1 = (Method)a;
+ Method mth2 = (Method)b;
+ int result = mth1.getName().compareTo(mth2.getName());
+ return result != 0 ? result : getFunctionName(mth1).compareTo(getFunctionName(mth2));
+ }
+ });
+}
+
+static void sort(Field[] fields) {
+ Arrays.sort(fields, new Comparator() {
+ public int compare(Object a, Object b) {
+ return ((Field)a).getName().compareTo(((Field)b).getName());
+ }
+ });
+}
+
+static void sort(Class[] classes) {
+ Arrays.sort(classes, new Comparator() {
+ public int compare(Object a, Object b) {
+ return ((Class)a).getName().compareTo(((Class)b).getName());
+ }
+ });
+}
+
+static String toC(String str) {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < str.length(); i++) {
+ char c = str.charAt(i);
+ switch (c) {
+ case '_': buf.append("_1"); break;
+ case ';': buf.append("_2"); break;
+ case '[': buf.append("_3"); break;
+ case '.': buf.append("_"); break;
+ case '/': buf.append("_"); break;
+ default: buf.append(c);
+ }
+ }
+ return buf.toString();
+}
+
public String getDelimiter() {
return delimiter;
}
@@ -198,22 +241,8 @@ public void generateMetaData(String key) {
outputDelimiter();
}
-public void generateNativeMacro(Class clazz) {
- output("#define ");
- output(getClassName(clazz));
- output("_NATIVE(func) Java_");
- output(toC(clazz.getName()));
- output("_##func");
- outputDelimiter();
- outputDelimiter();
-}
-
public void generate(Class[] classes) {
- Arrays.sort(classes, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Class)a).getName().compareTo(((Class)b).getName());
- }
- });
+ sort(classes);
for (int i = 0; i < classes.length; i++) {
Class clazz = classes[i];
generate(clazz);
@@ -240,31 +269,4 @@ public void setMetaData(MetaData data) {
metaData = data;
}
-static void sort(Method[] methods) {
- Arrays.sort(methods, new Comparator() {
- public int compare(Object a, Object b) {
- Method mth1 = (Method)a;
- Method mth2 = (Method)b;
- int result = mth1.getName().compareTo(mth2.getName());
- return result != 0 ? result : getFunctionName(mth1).compareTo(getFunctionName(mth2));
- }
- });
-}
-
-static String toC(String str) {
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < str.length(); i++) {
- char c = str.charAt(i);
- switch (c) {
- case '_': buf.append("_1"); break;
- case ';': buf.append("_2"); break;
- case '[': buf.append("_3"); break;
- case '.': buf.append("_"); break;
- case '/': buf.append("_"); break;
- default: buf.append(c);
- }
- }
- return buf.toString();
-}
-
}
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
index 3608f50f3f..541b14a029 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorApp.java
@@ -17,7 +17,6 @@ import java.util.Enumeration;
import java.util.Properties;
import java.util.zip.*;
import java.util.Arrays;
-import java.util.Comparator;
import org.eclipse.swt.internal.Platform;
@@ -234,11 +233,7 @@ String[] getClassNames(String mainClassName) {
public Class[] getClasses() {
if (mainClass == null) return new Class[0];
String[] classNames = getClassNames(mainClass);
- Arrays.sort(classNames, new Comparator() {
- public int compare(Object a, Object b) {
- return ((String)a).compareTo((String)b);
- }
- });
+ Arrays.sort(classNames);
String packageName = getPackageName(mainClass);
Class[] classes = new Class[classNames.length];
for (int i = 0; i < classNames.length; i++) {
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java
index 58be77208f..47901ae0b4 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/JNIGeneratorAppUI.java
@@ -12,8 +12,6 @@ package org.eclipse.swt.tools.internal;
import java.io.*;
import java.lang.reflect.*;
-import java.util.Arrays;
-import java.util.Comparator;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
@@ -69,31 +67,14 @@ void generateStructsHeader () {
StructsGenerator gen = new StructsGenerator();
gen.setMetaData(app.getMetaData());
Class[] classes = getSelectedClasses();
- Arrays.sort(classes, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Class)a).getName().compareTo(((Class)b).getName());
- }
- });
- for (int i = 0; i < classes.length; i++) {
- Class clazz = classes[i];
- gen.generateHeaderFile(clazz);
- }
+ gen.generateHeaderFile(classes);
}
void generateStructs () {
StructsGenerator gen = new StructsGenerator();
gen.setMetaData(app.getMetaData());
Class[] classes = getSelectedClasses();
- Arrays.sort(classes, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Class)a).getName().compareTo(((Class)b).getName());
- }
- });
- for (int i = 0; i < classes.length; i++) {
- Class clazz = classes[i];
- gen.generateSourceFile(clazz);
- gen.outputDelimiter();
- }
+ gen.generateSourceFile(classes);
}
void generateSizeof () {
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativeTest.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativeTest.java
deleted file mode 100644
index 8a8e5dc1f8..0000000000
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativeTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.tools.internal;
-
-/**
- * @author silenio
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- */
-public class NativeTest {
-
-public final native void test1();
-public final static native int test2();
-public final static native void test3(boolean b);
-public final static native void test4(int[] i);
-public final static native double test5(int[] i);
-public final native int test5(StructTest t, int i);
-
-}
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java
index b3e45d4790..47b5da5e03 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java
@@ -91,6 +91,48 @@ public void generate(Method[] methods) {
}
}
+public void generate(Method method) {
+ MethodData methodData = getMetaData().getMetaData(method);
+ if (methodData.getFlag("no_gen")) return;
+ Class returnType = method.getReturnType();
+ Class[] paramTypes = method.getParameterTypes();
+ String function = getFunctionName(method);
+
+ if (!(returnType == Void.TYPE || returnType.isPrimitive())) {
+ output("Warnning: bad return type. :" + method);
+ outputDelimiter();
+ return;
+ }
+
+ generateSourceStart(function);
+ generateFunctionPrototype(method, function, paramTypes, returnType);
+ generateFunctionBody(method, methodData, function, paramTypes, returnType);
+ generateSourceEnd(function);
+ outputDelimiter();
+}
+
+public void setEnterExitMacro(boolean enterExitMacro) {
+ this.enterExitMacro = enterExitMacro;
+}
+
+public void setNativeMacro(boolean nativeMacro) {
+ this.nativeMacro = nativeMacro;
+}
+
+public void setUseCritical(boolean useCritical) {
+ this.useCritical = useCritical;
+}
+
+void generateNativeMacro(Class clazz) {
+ output("#define ");
+ output(getClassName(clazz));
+ output("_NATIVE(func) Java_");
+ output(toC(clazz.getName()));
+ output("_##func");
+ outputDelimiter();
+ outputDelimiter();
+}
+
void generateGetParameter(int i, Class paramType, ParameterData paramData) {
if (paramType.isPrimitive()) return;
output("\tif (arg" + i);
@@ -454,42 +496,10 @@ void generateSourceEnd(String function) {
outputDelimiter();
}
-public void generate(Method method) {
- MethodData methodData = getMetaData().getMetaData(method);
- if (methodData.getFlag("no_gen")) return;
- Class returnType = method.getReturnType();
- Class[] paramTypes = method.getParameterTypes();
- String function = getFunctionName(method);
-
- if (!(returnType == Void.TYPE || returnType.isPrimitive())) {
- output("Warnning: bad return type. :" + method);
- outputDelimiter();
- return;
- }
-
- generateSourceStart(function);
- generateFunctionPrototype(method, function, paramTypes, returnType);
- generateFunctionBody(method, methodData, function, paramTypes, returnType);
- generateSourceEnd(function);
- outputDelimiter();
-}
-
boolean isUnique(Method method) {
return isUnique(method, Modifier.NATIVE);
}
-public void setEnterExitMacro(boolean enterExitMacro) {
- this.enterExitMacro = enterExitMacro;
-}
-
-public void setNativeMacro(boolean nativeMacro) {
- this.nativeMacro = nativeMacro;
-}
-
-public void setUseCritical(boolean useCritical) {
- this.useCritical = useCritical;
-}
-
public static void main(String[] args) {
// args = new String[]{"org.eclipse.swt.internal.win32.OS"};
if (args.length < 1) {
@@ -498,7 +508,6 @@ public static void main(String[] args) {
}
try {
NativesGenerator gen = new NativesGenerator();
- gen.setNativeMacro(true);
for (int i = 0; i < args.length; i++) {
String clazzName = args[i];
Class clazz = Class.forName(clazzName);
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/SizeofGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/SizeofGenerator.java
index 80caa30838..8a325acc4d 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/SizeofGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/SizeofGenerator.java
@@ -11,7 +11,6 @@
package org.eclipse.swt.tools.internal;
import java.lang.reflect.*;
-import java.util.*;
public class SizeofGenerator extends JNIGenerator {
@@ -36,12 +35,7 @@ public void generate(Class clazz) {
}
public void generate(Field[] fields) {
- Arrays.sort(fields, new Comparator() {
- public int compare(Object a, Object b) {
- return ((Field)a).getName().compareTo(((Field)b).getName());
- }
- });
-
+ sort(fields);
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
if ((field.getModifiers() & Modifier.FINAL) == 0) continue;
@@ -64,7 +58,7 @@ public static void main(String[] args) {
return;
}
try {
- ConstantsGenerator gen = new ConstantsGenerator();
+ SizeofGenerator gen = new SizeofGenerator();
for (int i = 0; i < args.length; i++) {
String clazzName = args[i];
Class clazz = Class.forName(clazzName);
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructTest.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructTest.java
deleted file mode 100644
index f9eb16135e..0000000000
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructTest.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.tools.internal;
-
-public class StructTest {
-public int intField;
-public int charField;
-public StructTest objectField;
-public double[] arrayField;
-}
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
index 6c2719fc76..6fd6e65b4b 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/StructsGenerator.java
@@ -23,33 +23,6 @@ public void generate(Class clazz) {
generateSourceFile(clazz);
}
-public void generateHeaderFile(Class clazz) {
- generateSourceStart(clazz);
- generatePrototypes(clazz);
- generateBlankMacros(clazz);
- generateSourceEnd(clazz);
- outputDelimiter();
-}
-
-void sort(Class[] classes) {
- Arrays.sort(classes, new Comparator() {
- public int compare(Object a, Object b) {
- if (a == b) return 0;
- Class class1 = (Class)a;
- Class class2 = (Class)b;
- Class tempClass = class1;
- while ((tempClass = tempClass.getSuperclass()) != Object.class) {
- if (tempClass == class2) return 1;
- }
- tempClass = class2;
- while ((tempClass = tempClass.getSuperclass()) != Object.class) {
- if (tempClass == class1) return -1;
- }
- return class1.getName().compareTo(class2.getName());
- }
- });
-}
-
public void generateExcludes(Class[] classes) {
HashSet excludes = new HashSet();
for (int i = 0; i < classes.length; i++) {
@@ -80,9 +53,17 @@ public void generateExcludes(Class[] classes) {
}
}
+public void generateHeaderFile(Class clazz) {
+ generateSourceStart(clazz);
+ generatePrototypes(clazz);
+ generateBlankMacros(clazz);
+ generateSourceEnd(clazz);
+ outputDelimiter();
+}
+
public void generateHeaderFile(Class[] classes) {
if (classes.length == 0) return;
- sort(classes);
+ sortStructs(classes);
generateMetaData("swt_copyright");
generateMetaData("swt_includes");
generateExcludes(classes);
@@ -90,11 +71,7 @@ public void generateHeaderFile(Class[] classes) {
Class clazz = classes[i];
ClassData classData = getMetaData().getMetaData(clazz);
if (classData.getFlag("no_gen")) continue;
- generateSourceStart(clazz);
- generatePrototypes(clazz);
- generateBlankMacros(clazz);
- generateSourceEnd(clazz);
- outputDelimiter();
+ generateHeaderFile(clazz);
}
}
@@ -106,42 +83,36 @@ public void generateSourceFile(Class clazz) {
outputDelimiter();
generateFunctions(clazz);
generateSourceEnd(clazz);
+ outputDelimiter();
}
public void generateSourceFile(Class[] classes) {
if (classes.length == 0) return;
- sort(classes);
+ sortStructs(classes);
generateMetaData("swt_copyright");
generateMetaData("swt_includes");
for (int i = 0; i < classes.length; i++) {
Class clazz = classes[i];
ClassData classData = getMetaData().getMetaData(clazz);
if (classData.getFlag("no_gen")) continue;
- generateSourceStart(clazz);
- generateFIDsStructure(clazz);
- outputDelimiter();
- generateGlobalVar(clazz);
- outputDelimiter();
- generateFunctions(clazz);
- generateSourceEnd(clazz);
- outputDelimiter();
+ generateSourceFile(clazz);
}
}
-public void generateSourceStart(Class clazz) {
+void generateSourceStart(Class clazz) {
String clazzName = getClassName(clazz);
output("#ifndef NO_");
output(clazzName);
outputDelimiter();
}
-public void generateSourceEnd(Class clazz) {
+void generateSourceEnd(Class clazz) {
String clazzName = getClassName(clazz);
output("#endif");
outputDelimiter();
}
-public void generateGlobalVar(Class clazz) {
+void generateGlobalVar(Class clazz) {
String clazzName = getClassName(clazz);
output(clazzName);
output("_FID_CACHE ");
@@ -150,7 +121,7 @@ public void generateGlobalVar(Class clazz) {
outputDelimiter();
}
-public void generateBlankMacros(Class clazz) {
+void generateBlankMacros(Class clazz) {
String clazzName = getClassName(clazz);
output("#else");
outputDelimiter();
@@ -168,7 +139,7 @@ public void generateBlankMacros(Class clazz) {
outputDelimiter();
}
-public void generatePrototypes(Class clazz) {
+void generatePrototypes(Class clazz) {
String clazzName = getClassName(clazz);
output(clazzName);
output(" *get");
@@ -191,7 +162,7 @@ public void generatePrototypes(Class clazz) {
outputDelimiter();
}
-public void generateFIDsStructure(Class clazz) {
+void generateFIDsStructure(Class clazz) {
String clazzName = getClassName(clazz);
output("typedef struct ");
output(clazzName);
@@ -219,7 +190,7 @@ public void generateFIDsStructure(Class clazz) {
outputDelimiter();
}
-public void generateCacheFunction(Class clazz) {
+void generateCacheFunction(Class clazz) {
String clazzName = getClassName(clazz);
output("void cache");
output(clazzName);
@@ -375,7 +346,7 @@ void generateGetFields(Class clazz) {
}
}
}
-public void generateGetFunction(Class clazz) {
+void generateGetFunction(Class clazz) {
String clazzName = getClassName(clazz);
output(clazzName);
output(" *get");
@@ -507,7 +478,7 @@ void generateSetFields(Class clazz) {
}
}
-public void generateSetFunction(Class clazz) {
+void generateSetFunction(Class clazz) {
String clazzName = getClassName(clazz);
output("void set");
output(clazzName);
@@ -528,7 +499,7 @@ public void generateSetFunction(Class clazz) {
outputDelimiter();
}
-public void generateFunctions(Class clazz) {
+void generateFunctions(Class clazz) {
generateCacheFunction(clazz);
outputDelimiter();
generateGetFunction(clazz);
@@ -544,6 +515,25 @@ boolean ignoreField(Field field) {
((mods & Modifier.STATIC) != 0);
}
+void sortStructs(Class[] classes) {
+ Arrays.sort(classes, new Comparator() {
+ public int compare(Object a, Object b) {
+ if (a == b) return 0;
+ Class class1 = (Class)a;
+ Class class2 = (Class)b;
+ Class tempClass = class1;
+ while ((tempClass = tempClass.getSuperclass()) != Object.class) {
+ if (tempClass == class2) return 1;
+ }
+ tempClass = class2;
+ while ((tempClass = tempClass.getSuperclass()) != Object.class) {
+ if (tempClass == class1) return -1;
+ }
+ return class1.getName().compareTo(class2.getName());
+ }
+ });
+}
+
public static void main(String[] args) {
if (args.length < 1) {
System.out.println("Usage: java StructsGenerator <className1> <className2>");