summaryrefslogtreecommitdiffstats
path: root/bundles
diff options
context:
space:
mode:
authorSilenio Quarti <silenio_quarti@ca.ibm.com>2012-04-19 15:28:10 -0400
committerSilenio Quarti <silenio_quarti@ca.ibm.com>2012-04-19 15:28:10 -0400
commitb57747abb0a6d500538c509fbd694a7f0fb31a30 (patch)
tree5c9736f2c05e067a5cf3692c8114a0b1bec4c866 /bundles
parentc5308d73c1e46a1db4edf39db94dfada1b6e65dc (diff)
downloadeclipse.platform.swt-b57747abb0a6d500538c509fbd694a7f0fb31a30.tar.gz
eclipse.platform.swt-b57747abb0a6d500538c509fbd694a7f0fb31a30.tar.xz
eclipse.platform.swt-b57747abb0a6d500538c509fbd694a7f0fb31a30.zip
fix arg name when param name and param index is not available
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGenerator.java22
-rw-r--r--bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java18
2 files changed, 25 insertions, 15 deletions
diff --git a/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGenerator.java b/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGenerator.java
index 2f6c055eeb..06be58d50b 100644
--- a/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGenerator.java
+++ b/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGenerator.java
@@ -160,7 +160,7 @@ String fixDelimiter(String str) {
return buffer.toString();
}
-String getParamName(Node param) {
+String getParamName(Node param, int i) {
NamedNodeMap paramAttributes = param.getAttributes();
Node swtName = paramAttributes.getNamedItem("swt_param_name");
String paramName = "";
@@ -173,7 +173,11 @@ String getParamName(Node param) {
if (paramName.length() == 0) {
Node node = paramAttributes.getNamedItem("index");
String index = "0";
- if (node != null) index = node.getNodeValue();
+ if (node != null) {
+ index = node.getNodeValue();
+ } else {
+ index = String.valueOf(i);
+ }
paramName = "arg" + index;
}
if (paramName.equals("boolean")) paramName = "b";
@@ -216,6 +220,7 @@ void generateMethods(String className, ArrayList methods) {
out("(");
NodeList params = method.getChildNodes();
boolean first = true;
+ int argIndex = 0;
for (int k = 0; k < params.getLength(); k++) {
Node param = params.item(k);
if ("arg".equals(param.getNodeName())) {
@@ -229,7 +234,7 @@ void generateMethods(String className, ArrayList methods) {
}
first = false;
out(" ");
- out(getParamName(param));
+ out(getParamName(param, argIndex++));
}
}
out(") {");
@@ -281,12 +286,13 @@ void generateMethods(String className, ArrayList methods) {
out(", OS.");
out(getSelConst(sel));
first = false;
+ argIndex = 0;
for (int k = 0; k < params.getLength(); k++) {
Node param = params.item(k);
if ("arg".equals(param.getNodeName())) {
if (!first) out(", ");
first = false;
- String paramName = getParamName(param);
+ String paramName = getParamName(param, argIndex++);
if (isObject(param)) {
out(paramName);
out(" != null ? ");
@@ -1066,7 +1072,7 @@ void generateSelectorsConst() {
}
}
}
- set.add("alloc");
+ if (set.size() > 0) set.add("alloc");
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
String sel = (String) iterator.next();
String selConst = getSelConst(sel);
@@ -1658,11 +1664,12 @@ void generateFunctions() {
out("/**");
outln();
}
+ int argIndex = 0;
for (int j = 0; j < params.getLength(); j++) {
Node param = params.item(j);
if ("arg".equals(param.getNodeName())) {
out(" * @param ");
- out(getParamName(param));
+ out(getParamName(param, argIndex++));
if (isStruct(param)) {
out(" flags=struct");
} else {
@@ -1700,6 +1707,7 @@ void generateFunctions() {
out("(");
params = node.getChildNodes();
boolean first = true;
+ argIndex = 0;
for (int j = 0; j < params.getLength(); j++) {
Node param = params.item(j);
if ("arg".equals(param.getNodeName())) {
@@ -1713,7 +1721,7 @@ void generateFunctions() {
out("*/");
}
out(" ");
- out(getParamName(param));
+ out(getParamName(param, argIndex++));
}
}
generateVariadics(node);
diff --git a/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java b/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java
index eb4ef27bcb..ff491f361c 100644
--- a/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java
+++ b/bundles/org.eclipse.swt.tools/Mac Generation/org/eclipse/swt/tools/internal/MacGeneratorUI.java
@@ -595,18 +595,20 @@ public class MacGeneratorUI {
}
public static void main(String[] args) {
-// args = new String[]{
-// "./Mac Generation/org/eclipse/swt/tools/internal/AppKitFull.bridgesupport",
-// "./Mac Generation/org/eclipse/swt/tools/internal/FoundationFull.bridgesupport",
-// "./Mac Generation/org/eclipse/swt/tools/internal/WebKitFull.bridgesupport",
-// };
+ String mainClass = args.length > 0 ? args[0] : "org.eclipse.swt.internal.cocoa.OS";
+ String outputDir = args.length > 1 ? args[1] : "../org.eclipse.swt/Eclipse SWT PI/cocoa/";
+ String[] xmls = {};
+ if (args.length > 2) {
+ xmls = new String[args.length - 2];
+ System.arraycopy(args, 2, xmls, 0, xmls.length);
+ }
try {
Display display = new Display();
Shell shell = new Shell(display);
MacGenerator gen = new MacGenerator();
- gen.setXmls(args);
- gen.setOutputDir("../org.eclipse.swt/Eclipse SWT PI/cocoa/");
- gen.setMainClass("org.eclipse.swt.internal.cocoa.OS");
+ gen.setXmls(xmls);
+ gen.setOutputDir(outputDir);
+ gen.setMainClass(mainClass);
MacGeneratorUI ui = new MacGeneratorUI(gen);
ui.open(shell);
shell.open();