>>>>> "arenn" == arenn <[EMAIL PROTECTED]> writes:
>> does Classpath aim to provide the same values for final fields as the Sun
>> JDK implementation does, even if the concrete value is not part of the
>> specification?
This is required. Otherwise the "write once run anywhere" feature of
Java is compromised.
arenn> In short, yes. I've captured these values in the past by
arenn> writing short programs that dump them to stdout.
In libgcj we have a simple program that uses reflection to print
integer values. I've appended this. This can be really useful when
you have a lot of such constants.
Tom
// 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 <[EMAIL PROTECTED]>. */
// 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 (_);
}
}
}
_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath