summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2006-10-20 22:37:06 +0000
committerTom Tromey <tromey@redhat.com>2006-10-20 22:37:06 +0000
commit24f2a92b3b3e6f971a2deca20b5d9fff125a3b1c (patch)
treed26158f8070a05af46c7d65808848775086a56f0
parent56d5db4a383a27fb750cd779e2b2f394c212e78a (diff)
downloadclasspath-24f2a92b3b3e6f971a2deca20b5d9fff125a3b1c.tar.gz
* tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass):
Don't use mangled class name for .h file. * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): Don't use mangled class name for .c file. * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass): Handle classes from the default package.
-rw-r--r--ChangeLog9
-rw-r--r--tools/gnu/classpath/tools/javah/CniPrintStream.java6
-rw-r--r--tools/gnu/classpath/tools/javah/JniIncludePrinter.java2
-rw-r--r--tools/gnu/classpath/tools/javah/JniStubPrinter.java4
4 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ab49b7d26..ab9d1be81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-10-20 Tom Tromey <tromey@redhat.com>
+
+ * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass):
+ Don't use mangled class name for .h file.
+ * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass):
+ Don't use mangled class name for .c file.
+ * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass):
+ Handle classes from the default package.
+
2006-10-20 Francis Kung <fkung@redhat.com>
* include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants.
diff --git a/tools/gnu/classpath/tools/javah/CniPrintStream.java b/tools/gnu/classpath/tools/javah/CniPrintStream.java
index 574d7fd5f..64ba537d4 100644
--- a/tools/gnu/classpath/tools/javah/CniPrintStream.java
+++ b/tools/gnu/classpath/tools/javah/CniPrintStream.java
@@ -196,9 +196,9 @@ public class CniPrintStream
private void writeClass(PrintStream out, String klass)
{
int index = klass.lastIndexOf('/');
- String pkg = klass.substring(0, index);
- String[] pkgParts = pkg.split("/");
- String className = klass.substring(index + 1);
+ String pkg = index == -1 ? "" : klass.substring(0, index);
+ String[] pkgParts = index == -1 ? new String[0] : pkg.split("/");
+ String className = index == -1 ? klass : klass.substring(index + 1);
moveToPackage(out, pkgParts);
indent(out, pkgParts.length + 2);
out.print("class ");
diff --git a/tools/gnu/classpath/tools/javah/JniIncludePrinter.java b/tools/gnu/classpath/tools/javah/JniIncludePrinter.java
index 3d88650c1..f29bfc300 100644
--- a/tools/gnu/classpath/tools/javah/JniIncludePrinter.java
+++ b/tools/gnu/classpath/tools/javah/JniIncludePrinter.java
@@ -112,7 +112,7 @@ public class JniIncludePrinter
if (! klass.hasNativeMethod())
return;
String xname = JniHelper.mangle(klass.name);
- JniPrintStream out = (JniPrintStream) getPrintStream(xname + ".h", klass);
+ JniPrintStream out = (JniPrintStream) getPrintStream(klass.name + ".h", klass);
if (out == null)
return;
out.println();
diff --git a/tools/gnu/classpath/tools/javah/JniStubPrinter.java b/tools/gnu/classpath/tools/javah/JniStubPrinter.java
index 0bc11873f..4e7871008 100644
--- a/tools/gnu/classpath/tools/javah/JniStubPrinter.java
+++ b/tools/gnu/classpath/tools/javah/JniStubPrinter.java
@@ -76,12 +76,12 @@ public class JniStubPrinter
if (! klass.hasNativeMethod())
return;
String xname = JniHelper.mangle(klass.name);
- JniPrintStream out = (JniPrintStream) getPrintStream(xname + ".c", klass);
+ JniPrintStream out = (JniPrintStream) getPrintStream(klass.name + ".c", klass);
if (out == null)
return;
out.println();
out.print("#include <");
- out.print(xname);
+ out.print(klass.name);
out.println(".h>");
Iterator i = klass.methods.iterator();