* scripts/showval.java: New file.
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jul 2000 19:35:43 +0000 (19:35 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Jul 2000 19:35:43 +0000 (19:35 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35152 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/scripts/showval.java [new file with mode: 0644]

index 6f2a51d..b7279de 100644 (file)
@@ -1,5 +1,7 @@
 2000-07-20  Tom Tromey  <tromey@cygnus.com>
 
+       * scripts/showval.java: New file.
+
        * scripts/classes.pl (scan): Print inner classes properly.
        * gcj/javaprims.h: Updated class list.
 
diff --git a/libjava/scripts/showval.java b/libjava/scripts/showval.java
new file mode 100644 (file)
index 0000000..dca399f
--- /dev/null
@@ -0,0 +1,41 @@
+// Show a value given class name and constant name.
+
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+/* Written by Tom Tromey <tromey@redhat.com>.  */
+
+// Use like this to print a `static final' value (integers only, not
+// strings yet):
+//   java showval java.awt.geom.AffineTransform.TYPE_IDENTITY
+// Prints result like:
+//   TYPE_IDENTITY = 0
+// In conjunction with a keyboard macro you can do a number of
+// constants very easily.
+
+import java.lang.reflect.*;
+
+public class showval
+{
+  public static void main (String[] args)
+  {
+    int ch = args[0].lastIndexOf ('.');
+    String className = args[0].substring (0, ch);
+    String constName = args[0].substring (ch + 1);
+    try
+      {
+       Class klass = Class.forName (className);
+       Field field = klass.getField (constName);
+       System.out.println (constName + " = " + field.getInt (null));
+      }
+    catch (Throwable _)
+      {
+       System.out.println (_);
+      }
+  }
+}