public inbox for frysk-cvs@sourceware.org help / color / mirror / Atom feed
From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Factor out a common print-return-code method. Date: Thu, 08 May 2008 03:53:00 -0000 [thread overview] Message-ID: <20080508035327.14947.qmail@sourceware.org> (raw) The branch, master has been updated via 476c341a9e7d666f1e0724392ca8c2d0c00b895f (commit) from 2a7c99edb7f6fde358b17281aa82837b0a1b4229 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 476c341a9e7d666f1e0724392ca8c2d0c00b895f Author: Andrew Cagney <cagney@redhat.com> Date: Wed May 7 23:51:55 2008 -0400 Factor out a common print-return-code method. frysk-sys/frysk/jnixx/ChangeLog 2008-05-07 Andrew Cagney <cagney@redhat.com> * Printer.java (printReturn): New. * PrintHxxDefinitions.java: Use. ----------------------------------------------------------------------- Summary of changes: frysk-sys/frysk/jnixx/ChangeLog | 3 +++ frysk-sys/frysk/jnixx/PrintHxxDefinitions.java | 24 +++++------------------- frysk-sys/frysk/jnixx/Printer.java | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+), 19 deletions(-) First 500 lines of diff: diff --git a/frysk-sys/frysk/jnixx/ChangeLog b/frysk-sys/frysk/jnixx/ChangeLog index 48251d9..66077cd 100644 --- a/frysk-sys/frysk/jnixx/ChangeLog +++ b/frysk-sys/frysk/jnixx/ChangeLog @@ -1,5 +1,8 @@ 2008-05-07 Andrew Cagney <cagney@redhat.com> + * Printer.java (printReturn): New. + * PrintHxxDefinitions.java: Use. + * jni/Native.cxx: Include jni.hxx; fully qualify jnixx::env. * print.cxx: Ditto. * print.hxx: Ditto. diff --git a/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java b/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java index a1d4607..7e81aeb 100644 --- a/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java +++ b/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java @@ -117,15 +117,7 @@ class PrintHxxDefinitions extends ClassWalker { } p.println(");"); if (get) { - p.print("return "); - if (type.isPrimitive()) { - p.print("ret"); - } else if (type.getName().startsWith("java.")) { - p.print("ret"); - } else { - p.printCxxType(type); - p.print("(ret)"); - } + p.printReturn(isStatic, type, "ret"); p.println(";"); } } @@ -177,13 +169,7 @@ class PrintHxxDefinitions extends ClassWalker { p.printActualJniParameters(method); p.println(");"); if (returnType != Void.TYPE) { - p.print("return "); - if (returnType.isPrimitive()) { - p.print("ret;"); - } else { - p.printCxxType(returnType); - p.print("(ret)"); - } + p.printReturn(isStatic, returnType, "ret"); p.println(";"); } } @@ -224,9 +210,9 @@ class PrintHxxDefinitions extends ClassWalker { while (p.dent(1, "if (object == NULL) {", "}")) { p.println("throw ::jnixx::exception();"); } - p.print("return "); - p.printCxxType(constructor.getDeclaringClass()); - p.println("(object);"); + p.printReturn(true, constructor.getDeclaringClass(), + "object"); + p.println(";"); } } diff --git a/frysk-sys/frysk/jnixx/Printer.java b/frysk-sys/frysk/jnixx/Printer.java index e18ae2a..7c8f1b8 100644 --- a/frysk-sys/frysk/jnixx/Printer.java +++ b/frysk-sys/frysk/jnixx/Printer.java @@ -551,6 +551,27 @@ class Printer { } /** + * Print a return statement, possibly using casts. + */ + void printReturn(boolean isStatic, Class returnType, String variable) { + print("return "); + if (returnType.isPrimitive()) { + print(variable); + } else if (returnType.isArray() + && returnType.getComponentType().isPrimitive()) { + print("("); + printCxxType(returnType); + print(")"); + print(variable); + } else { + printCxxType(returnType); + print("("); + print(variable); + print(")"); + } + } + + /** * Flush the output. */ void flush() { hooks/post-receive -- frysk system monitor/debugger
reply other threads:[~2008-05-08 3:53 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20080508035327.14947.qmail@sourceware.org \ --to=cagney@sourceware.org \ --cc=frysk-cvs@sourceware.org \ --cc=frysk@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).