summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2006-07-20 16:31:55 +0000
committerSilenio Quarti <silenio>2006-07-20 16:31:55 +0000
commita85637b0f04c02a186f7eb1cbfb42a7898cff198 (patch)
tree727adfa6968f21f16e2b06e162e62ee4f9b65f91 /bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java
parent4a3f9af5ae6294641a95650d44bc8f9e572af3f1 (diff)
downloadeclipse.platform.swt-a85637b0f04c02a186f7eb1cbfb42a7898cff198.tar.gz
eclipse.platform.swt-a85637b0f04c02a186f7eb1cbfb42a7898cff198.tar.xz
eclipse.platform.swt-a85637b0f04c02a186f7eb1cbfb42a7898cff198.zip
150764 - PATCH] fix compiler warnings for GCC 4.x (sentinel)
Diffstat (limited to 'bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java')
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/NativesGenerator.java50
1 files changed, 27 insertions, 23 deletions
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 2f8cd02321..711f3d738a 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
@@ -85,7 +85,7 @@ public void generate(Method[] methods) {
public void generate(Method method) {
MethodData methodData = getMetaData().getMetaData(method);
- if (methodData.getFlag("no_gen")) return;
+ if (methodData.getFlag(FLAG_NO_GEN)) return;
Class returnType = method.getReturnType();
Class[] paramTypes = method.getParameterTypes();
String function = getFunctionName(method);
@@ -184,7 +184,7 @@ boolean generateGetParameter(Method method, int i, Class paramType, ParameterDat
throw new Error("not done");
}
} else if (paramType == String.class) {
- if (paramData.getFlag("unicode")) {
+ if (paramData.getFlag(FLAG_UNICODE)) {
if (isCPP) {
output("env->GetStringChars(arg");
} else {
@@ -202,7 +202,7 @@ boolean generateGetParameter(Method method, int i, Class paramType, ParameterDat
output(", NULL)");
}
} else {
- if (paramData.getFlag("no_in")) {
+ if (paramData.getFlag(FLAG_NO_IN)) {
output("&_arg");
output(iStr);
} else {
@@ -254,7 +254,7 @@ void generateSetParameter(int i, Class paramType, ParameterData paramData, boole
output(", lparg");
output(iStr);
output(", ");
- if (paramData.getFlag("no_out")) {
+ if (paramData.getFlag(FLAG_NO_OUT)) {
output("JNI_ABORT");
} else {
output("0");
@@ -270,7 +270,7 @@ void generateSetParameter(int i, Class paramType, ParameterData paramData, boole
output(" && lparg");
output(iStr);
output(") ");
- if (paramData.getFlag("unicode")) {
+ if (paramData.getFlag(FLAG_UNICODE)) {
if (isCPP) {
output("env->ReleaseStringChars(arg");
} else {
@@ -288,7 +288,7 @@ void generateSetParameter(int i, Class paramType, ParameterData paramData, boole
output(iStr);
outputln(");");
} else {
- if (!paramData.getFlag("no_out")) {
+ if (!paramData.getFlag(FLAG_NO_OUT)) {
output("\tif (arg");
output(iStr);
output(" && lparg");
@@ -340,7 +340,7 @@ boolean generateLocalVars(Method method, Class[] paramTypes, Class returnType) {
throw new Error("not done");
}
} else if (paramType == String.class) {
- if (paramData.getFlag("unicode")) {
+ if (paramData.getFlag(FLAG_UNICODE)) {
output("const jchar *lparg" + i);
} else {
output("const char *lparg" + i);
@@ -349,7 +349,7 @@ boolean generateLocalVars(Method method, Class[] paramTypes, Class returnType) {
} else {
output(getClassName(paramType));
output(" _arg" + i);
- if (paramData.getFlag("init")) output("={0}");
+ if (paramData.getFlag(FLAG_INIT)) output("={0}");
output(", *lparg" + i);
output("=NULL;");
}
@@ -492,7 +492,7 @@ void generateDynamicFunctionCall(Method method, MethodData methodData, Class[] p
if (cast.length() > 2) {
output(cast.substring(1, cast.length() - 1));
} else {
- output(getTypeSignature4(paramType, paramData.getFlag("struct")));
+ output(getTypeSignature4(paramType, paramData.getFlag(FLAG_STRUCT)));
}
}
outputln(");");
@@ -532,7 +532,7 @@ void generateDynamicFunctionCall(Method method, MethodData methodData, Class[] p
if (cast.length() > 2) {
output(cast.substring(1, cast.length() - 1));
} else {
- output(getTypeSignature4(paramType, paramData.getFlag("struct")));
+ output(getTypeSignature4(paramType, paramData.getFlag(FLAG_STRUCT)));
}
}
outputln(");");
@@ -575,28 +575,32 @@ void generateFunctionCallLeftSide(Method method, MethodData methodData, Class re
output(getTypeSignature2(returnType));
output(")");
}
- if (methodData.getFlag("address")) {
+ if (methodData.getFlag(FLAG_ADDRESS)) {
output("&");
}
- if (methodData.getFlag("jni")) {
+ if (methodData.getFlag(FLAG_JNI)) {
output(isCPP ? "env->" : "(*env)->");
}
}
void generateFunctionCallRightSide(Method method, MethodData methodData, Class[] paramTypes, int paramStart) {
- if (!methodData.getFlag("const")) {
+ if (!methodData.getFlag(FLAG_CONST)) {
output("(");
- if (methodData.getFlag("jni")) {
+ if (methodData.getFlag(FLAG_JNI)) {
if (!isCPP) output("env, ");
}
for (int i = paramStart; i < paramTypes.length; i++) {
Class paramType = paramTypes[i];
ParameterData paramData = getMetaData().getMetaData(method, i);
if (i != paramStart) output(", ");
- if (paramData.getFlag("struct")) output("*");
+ if (paramData.getFlag(FLAG_STRUCT)) output("*");
output(paramData.getCast());
- if (!paramType.isPrimitive() && !isSystemClass(paramType)) output("lp");
- output("arg" + i);
+ if (i == paramTypes.length - 1 && paramData.getFlag(FLAG_SENTINEL)) {
+ output("NULL");
+ } else {
+ if (!paramType.isPrimitive() && !isSystemClass(paramType)) output("lp");
+ output("arg" + i);
+ }
}
output(")");
}
@@ -642,10 +646,10 @@ void generateFunctionCall(Method method, MethodData methodData, Class[] paramTyp
output(getTypeSignature4(paramTypes[1]));
output(" **)arg1)[arg0])");
paramStart = 1;
- } else if (methodData.getFlag("cpp")) {
+ } else if (methodData.getFlag(FLAG_CPP)) {
output("(");
ParameterData paramData = getMetaData().getMetaData(method, 0);
- if (paramData.getFlag("struct")) output("*");
+ if (paramData.getFlag(FLAG_STRUCT)) output("*");
String cast = paramData.getCast();
if (cast.length() != 0 && !cast.equals("()")) {
output(cast);
@@ -663,7 +667,7 @@ void generateFunctionCall(Method method, MethodData methodData, Class[] paramTyp
}
}
paramStart = 1;
- } else if (methodData.getFlag("new")) {
+ } else if (methodData.getFlag(FLAG_NEW)) {
output("new ");
String accessor = methodData.getAccessor();
if (accessor.length() != 0) {
@@ -676,7 +680,7 @@ void generateFunctionCall(Method method, MethodData methodData, Class[] paramTyp
output(name);
}
}
- } else if (methodData.getFlag("delete")) {
+ } else if (methodData.getFlag(FLAG_DELETE)) {
output("delete ");
ParameterData paramData = getMetaData().getMetaData(method, 0);
String cast = paramData.getCast();
@@ -749,7 +753,7 @@ void generateFunctionBody(Method method, MethodData methodData, String function,
boolean needsReturn = generateLocalVars(method, paramTypes, returnType);
generateEnterMacro(method, function);
boolean genFailTag = generateGetters(method, paramTypes);
- if (methodData.getFlag("dynamic")) {
+ if (methodData.getFlag(FLAG_DYNAMIC)) {
generateDynamicFunctionCall(method, methodData, paramTypes, returnType, needsReturn);
} else {
generateFunctionCall(method, methodData, paramTypes, returnType, needsReturn);
@@ -797,7 +801,7 @@ void generateSourceEnd(String function) {
}
boolean isCritical(Class paramType, ParameterData paramData) {
- return paramType.isArray() && paramType.getComponentType().isPrimitive() && paramData.getFlag("critical");
+ return paramType.isArray() && paramType.getComponentType().isPrimitive() && paramData.getFlag(FLAG_CRITICAL);
}
boolean isSystemClass(Class type) {