summaryrefslogtreecommitdiff
path: root/libjava/scripts/showval.java
blob: dca399f89f920b8b7adb68ec5d743e42cd707f72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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 (_);
      }
  }
}