diff options
Diffstat (limited to 'libjava/classpath/java/lang/Enum.java')
-rw-r--r-- | libjava/classpath/java/lang/Enum.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libjava/classpath/java/lang/Enum.java b/libjava/classpath/java/lang/Enum.java index f141619be4d..fa217bb67a6 100644 --- a/libjava/classpath/java/lang/Enum.java +++ b/libjava/classpath/java/lang/Enum.java @@ -97,9 +97,12 @@ public abstract class Enum<T extends Enum<T>> try { + // XXX We should not use getDeclaredField, because it does + // an unnecessary security check. Field f = etype.getDeclaredField(s); if (! f.isEnumConstant()) throw new IllegalArgumentException(s); + Class.setAccessible(f); return (S) f.get(null); } catch (NoSuchFieldException exception) @@ -220,4 +223,14 @@ public abstract class Enum<T extends Enum<T>> k = k.getSuperclass(); return k; } + + /** + * Enumerations can not have finalization methods. + * + * @since 1.6 + */ + protected final void finalize() + { + } + } |