2015-01-30 Andrew John Hughes PR classpath/64881 * NEWS: Updated. * java/security/KeyPairGenerator.java: (genKeyPair()): Document properly. Call original method, generateKeyPair(). (generateKeyPair()): Document properly. Use provider and algorithm values if set rather than just defaulting to GNU and DSA. 2015-01-06 Andrew John Hughes * NEWS: Updated. * java/util/Objects.java: New class. (compareTo(T,T,Comparator)): Implemented. (deepEquals(Object,Object)): Likewise. (equals(Object,Object)): Likewise. (hash(Object...)): Likewise. (hashCode(Object)): Likewise. (requireNonNull(T)): Likewise. (requireNonNull(T,String)): Likewise. (toString(Object)): Likewise. (toString(Object,String)): Likewise. 2014-12-15 Andrew John Hughes PR classpath/64176 * NEWS: Updated. * java/util/GregorianCalendar.java: (computeFields()): Handle the week that runs over the end of the year and the beginning of the next one, so that it is numbered the same in both years. (getBaseWeekOfYear(int,int,int)): Broken out of computeFields to avoid code duplication. (getRelativeWeekday(int)): Likewise. 2014-11-28 Andrew John Hughes PR classpath/64109 * NEWS: Updated. * native/jni/java-util/Makefile.am: Link against jcl library. 2014-09-15 Guillermo Rodriguez * doc/www.gnu.org/announce/20120307.wml: Add 0.99 release announcement. * doc/www.gnu.org/downloads/downloads.wml: List 0.99. Move to 0.98 to previous releases. * doc/www.gnu.org/newsitems.txt: Add 0.99 news item. 2014-10-13 Andrew John Hughes * configure.ac: Add --enable-warnings so warnings can be turned on and off. Invoke IT_USING_ECJ during compiler checks. * examples/Makefile.am: Split options for GCJ, javac and ecj. * lib/Makefile.am: Likewise. * m4/acinclude.m4: (IT_USING_ECJ): New macro taken from IcedTea to detect the use of ecj. * tools/Makefile.am: Split options for GCJ, javac and ecj. 2014-05-04 Andrew John Hughes * javax/lang/model/util/AbstractAnnotationValueVisitor6.java: New abstract class. (AbstractAnnotationValueVisitor6()): Implemented. (visit(AnnotationValue)): Likewise. (visit(AnnotationValue, P)): Likewise. (visitUnknown(AnnotationValue, P)): Likewise. * javax/lang/model/util/AbstractElementVisitor6.java: (visitUnknown(Element,P)): Add missing Override annotation. 2014-10-09 Andrew John Hughes * NEWS: Updated. * gnu/java/security/util/IntegerUtil.java: Removed. Methods are available in java.lang.Integer. * gnu/java/security/Engine.java: Add missing type parameters to Class, Constructor and Enumeration. * gnu/java/security/OID.java: Add type parameter to Comparable implementation. (compareTo(OID)): Changed from compareTo(Object). Remove now redundant cast. * gnu/java/security/Properties.java: Add type parameters to HashMap. (getProperty(String)): Remove redundant cast. (init()): Use generic implementation of PrivilegedAction. Add properties in a for-each loop to get correct types. * gnu/java/security/action/SetAccessibleAction.java: Use generic implementation of PrivilegedAction. * gnu/java/security/ber/BEREncodingException.java: Add explicit serialVersionUID. * gnu/java/security/der/BitString.java: Add type parameter to Comparable implementation. (compareTo(BitString)): Changed from compareTo(Object). Remove now redundant cast. * gnu/java/security/der/DEREncodingException.java: Add explicit serialVersionUID. * gnu/java/security/der/DERWriter.java: (write(OutputStream,DERValue)): Cast List and Set to correct generic versions. (writeSequence(OutputStream,List)): Add type parameters. Drop now redundant cast. (writeSet(OutputStream,Set)): Likewise. * gnu/java/security/hash/HashFactory.java: (getNames()): Add type parameters. * gnu/java/security/hash/Whirlpool.java: Drop unused byte array. * gnu/java/security/jce/prng/HavalRandomSpi.java: Add explicit serialVersionUID. * gnu/java/security/jce/prng/MD2RandomSpi.java: Likewise. * gnu/java/security/jce/prng/MD4RandomSpi.java: Likewise. * gnu/java/security/jce/prng/MD5RandomSpi.java: Likewise. * gnu/java/security/jce/prng/RipeMD128RandomSpi.java: Likewise. * gnu/java/security/jce/prng/RipeMD160RandomSpi.java: Likewise. * gnu/java/security/jce/prng/SecureRandomAdapter.java: Likewise. Drop unused mdName variable. Remove redundant casts. Add Override annotation to interface implementation. * gnu/java/security/jce/prng/Sha160RandomSpi.java: Add explicit serialVersionUID. * gnu/java/security/jce/prng/Sha256RandomSpi.java: Likewise. * gnu/java/security/jce/prng/Sha384RandomSpi.java: Likewise. * gnu/java/security/jce/prng/Sha512RandomSpi.java: Likewise. * gnu/java/security/jce/prng/TigerRandomSpi.java: Likewise. * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java: Likewise. * gnu/java/security/jce/sig/DSSKeyFactory.java: Add Override annotation to interface implementation. (engineGetKeySpec(Key,Class)): Update return type. Use keySpec.cast to cast newly created instances to the correct type. * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Add missing type parameters and Override annotations. * gnu/java/security/jce/sig/DSSParameters.java: Add Override annotation to interface implementation. (engineGetParameterSpec(Class)): Update return type. Use paramSpec.cast to cast new instances to correct type. (engineGetEncoded()): Add missing type parameter to list. * gnu/java/security/jce/sig/EncodedKeyFactory.java: Add type parameters and Override annotations. (engineGetKeySpec(Key,Class)): Update return type. Use keySpec.cast to cast new instances to correct type. * gnu/java/security/jce/sig/RSAKeyFactory.java: Add @Override annotation. Drop unused variables. (engineGetKeySpec(Key,Class)): Update return type. Use keySpec.cast to cast new instances to correct type. * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Add type parameters. * gnu/java/security/jce/sig/SignatureAdapter.java: Add type parameters and Override annotation. * gnu/java/security/key/IKeyPairGenerator.java: (setup(Map)): Add type parameters. * gnu/java/security/key/KeyPairCodecFactory.java: Add type parameters. * gnu/java/security/key/KeyPairGeneratorFactory.java: Likewise. * gnu/java/security/key/dss/DSSKey.java: Add explicit serialVersionUID. * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Add type parameters and Override annotations. * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: Add type parameters. * gnu/java/security/key/dss/DSSPrivateKey.java: Add explicit serialVersionUID. * gnu/java/security/key/dss/DSSPublicKey.java: Likewise. * gnu/java/security/key/rsa/GnuRSAKey.java: Likewise. * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. * gnu/java/security/key/rsa/GnuRSAPublicKey.java: Likewise. * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Add Override annotations and type parameters. * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Add missing type parameters on ArrayList instances. * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Add Override annotations and type parameters. * gnu/java/security/pkcs/PKCS7SignedData.java: (PKCS7SignedData(BERReader)): Add a type parameter to the algId list and ensure all additions are homogenous. Add other missing type parameters. (PKCS7SignedData(Set,PKCS7Data,Certificate[],X509CRL[],Set)): Add missing type parameters. (getDigestAlgorithms()): Do a deep copy of the set. (getSignerInfos()): Add type parameters. (encode(OutputStream)): Likewise. * gnu/java/security/pkcs/SignerInfo.java: Drop unused variable, count. Add type parameters. (encode(OutputStream)): Include derAuthenticatedAttributes and derUnauthenticatedAttributes in signerInfo. * gnu/java/security/prng/BasePRNG.java: Add type parameters and Override annotations. * gnu/java/security/prng/IRandom.java: Add type parameters. * gnu/java/security/prng/LimitReachedException.java: Add explicit serialVersionUID. * gnu/java/security/prng/MDGenerator.java: Add type parameters and Override annotations. * gnu/java/security/prng/PRNGFactory.java: Add missing type parameters. * gnu/java/security/prng/RandomEvent.java: Add explicit serialVersionUID. * gnu/java/security/provider/CollectionCertStoreImpl.java: Add Override annotation and missing type parameters. * gnu/java/security/provider/Gnu.java: Add explicit serialVersionUID. Parameterise implementation of PrivilegedAction. * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Add missing type parameters. Remove unused qualifierInfos variable. * gnu/java/security/provider/X509CertificateFactory.java: Add Override annotations and type parameters. * gnu/java/security/sig/BaseSignature.java: Likewise. * gnu/java/security/sig/ISignature.java: Add type parameters. * gnu/java/security/sig/SignatureCodecFactory.java: Likewise. * gnu/java/security/sig/SignatureFactory.java: Likewise. * gnu/java/security/sig/dss/DSSSignature.java: Add Override annotations and type parameters. * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: Add type parameter to ArrayList instance. * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java: Remove unused hLen variable. * gnu/java/security/sig/rsa/RSASignatureFactory.java: Add type parameters. * gnu/java/security/util/PRNG.java: (getInstance()): Move initialisation code to shared method, initialiseDelegate. (nextBytes(byte[],int,int)): Call out to initialiseDelegate to re-initialise. (initialiseDelegate(IRandom)): New common method for shared code. * gnu/java/security/util/Sequence.java: Add Override annotation and type parameters. * gnu/java/security/util/SimpleList.java: Add type parameters. * gnu/java/security/x509/GnuPKIExtension.java: Likewise. * gnu/java/security/x509/PolicyNodeImpl.java: Add type parameters and Override annotations. (addAllPolicyQualifiers(Collection)): Qualify reference to addAll. * gnu/java/security/x509/X500DistinguishedName.java: Add type parameters. * gnu/java/security/x509/X509CRL.java: Remove unused variable algParams. Add type parameters and Override annotations. * gnu/java/security/x509/X509CRLEntry.java: Add type parameters and Override annotations. * gnu/java/security/x509/X509CRLSelectorImpl.java: Likewise. * gnu/java/security/x509/X509CertPath.java: Add type parameters. (pkcsEncoded): Renamed from pkcs_encoded. (pkiEncoded): Renamed from pki_encoded. * gnu/java/security/x509/X509CertSelectorImpl.java: Add type parameters and Override annotations. * gnu/java/security/x509/X509Certificate.java: Likewise. * gnu/java/security/x509/ext/BasicConstraints.java: Add type parameters. * gnu/java/security/x509/ext/CertificatePolicies.java: Likewise. * gnu/java/security/x509/ext/PolicyMappings.java: Likewise. * gnu/javax/crypto/cipher/IBlockCipher.java: Add type parameters. * gnu/javax/crypto/jce/prng/FortunaImpl.java: (engineSetSeed(byte[])): Add cast for singletonMap invocation. * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java: Add type parameters. * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java: Likewise. * gnu/javax/crypto/mac/IMac.java: Likewise. * gnu/javax/crypto/mode/BaseMode.java: Add Override annotations and type parameters. * gnu/javax/crypto/mode/EAX.java: Add Override annotations, type parameters and casts for singletonMap invocations. * gnu/javax/crypto/prng/Fortuna.java: Likewise. * gnu/javax/net/ssl/Session.java: Add Override annotations and type parameters. * gnu/javax/net/ssl/provider/AbstractHandshake.java: Fix type parameters. * gnu/javax/net/ssl/provider/SSLRandom.java: Add Override annotations and type parameters. * gnu/javax/net/ssl/provider/TLSRandom.java: Likewise. (hmacSHA): Renamed from hmac_sha. (hmacMD5): Renamed from hmac_md5. * gnu/javax/net/ssl/provider/Util.java: (transform(Object,Class,String,Object[])): Use a type parameter T rather than Object. * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java: Add type parameters. * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java: Likewise. * gnu/javax/security/auth/callback/AWTCallbackHandler.java: Replace calls to deprecated show() with setVisible(true). (ACTION_NO): Remove unused variable. (ACTION_YES): Likewise. * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java: Add type parameters. * gnu/javax/security/auth/callback/GnuCallbacks.java: Add explicit serialVersionUID. Convert PrivilegedAction implementation to parameterised version. * gnu/javax/security/auth/login/ConfigFileParser.java: Add type parameters. * gnu/javax/security/auth/login/GnuConfiguration.java: Likewise. Fix typo. * java/security/AccessControlContext.java: Add type parameters. * java/security/AllPermission.java: Add Override annotations. (AllPermissionCollection.elements()): Add type parameter to return type and return appropriately typed enumerations. * java/security/BasicPermission.java: Add type parameters and Override annotations. * java/security/CodeSource.java: Likewise. * java/security/DummySignature.java: Add Override annotations. * java/security/Identity.java: Add type parameters. * java/security/IntersectingDomainCombiner.java: Likewise. * java/security/KeyPairGenerator.java: Add Override annotations. * java/security/Permissions.java: Add type parameters and Override annotations. (elements()): Rename main_enum and sub_enum to mainEnum and subEnum respectively. * java/security/Policy.java: Add type parameters. * java/security/SecureRandom.java: Add missing type parameter. Remove unused imports. * java/security/Security.java: Add type parameters. Fix mis-spelling of 'query'. * java/security/SignatureSpi.java: Add Override annotation. * java/security/UnresolvedPermission.java: Add Override annotations and type parameters. (elements()): Rename main_enum and sub_enum to mainEnum and subEnum respectively. * java/security/cert/CertPath.java: Add type parameters. * java/security/cert/CertPathValidator.java: (getDefaultType()): Use GetSecurityPropertyAction rather than implementing PrivilegedAction locally. * java/security/cert/CertStore.java: (getDefaultType()): Use GetSecurityPropertyAction rather than implementing PrivilegedAction locally. * java/security/cert/CollectionCertStoreParameters.java: Add type parameters and Override annotations. * java/security/cert/PKIXParameters.java: Add type parameters. * java/security/cert/X509CRLSelector.java: Add type parameters. (getIssuerNames()): Return a deep copy. * java/security/cert/X509CertSelector.java: Add type parameters. * java/util/Properties.java: Add type parameters. (stringPropertyNames()): Implemented. * javax/naming/directory/BasicAttribute.java: Add Override annotations and missing type parameter. * javax/security/auth/AuthPermission.java: Add explicit serialVersionUID. * javax/security/auth/DestroyFailedException.java: Likewise. * javax/security/auth/PrivateCredentialPermission.java: Add type parameters. (equals(Object)): Use thatPrincipals instead of that_principals. (implies(Permission)): Likewise. (CredOwner): Add explicit serialVersionUID. * javax/security/auth/RefreshFailedException.java: Add explicit serialVersionUID. * javax/security/auth/Subject.java: Add type parameters and Override annotations. * javax/security/auth/SubjectDomainCombiner.java: Add type parameters. * javax/security/auth/callback/ChoiceCallback.java: Add explicit serialVersionUID. * javax/security/auth/callback/ConfirmationCallback.java: Likewise. * javax/security/auth/callback/LanguageCallback.java: Likewise. * javax/security/auth/callback/NameCallback.java: Likewise. * javax/security/auth/callback/PasswordCallback.java: Likewise. * javax/security/auth/callback/TextInputCallback.java: Likewise. * javax/security/auth/callback/TextOutputCallback.java: Likewise. * javax/security/auth/callback/UnsupportedCallbackException.java: Likewise. * javax/security/auth/kerberos/DelegationPermission.java: Re-enable explicit serialVersionUID. Add Override annotations and type parameters. * javax/security/auth/kerberos/KerberosPrincipal.java: Re-enable explicit serialVersionUID. * javax/security/auth/kerberos/KerberosTicket.java: Suppress warning about unused asn1Encoding variable. * javax/security/auth/kerberos/KeyImpl.java: Re-enable explicit serialVersionUID. * javax/security/auth/kerberos/ServicePermission.java: Re-enable explicit serialVersionUID. Add Override annotations and type parameters. * javax/security/auth/login/AppConfigurationEntry.java: Add type parameters. * javax/security/auth/login/Configuration.java: Likewise. * javax/security/auth/login/LoginContext.java: Likewise. * javax/security/auth/x500/X500Principal.java: Likewise. (fixed): Remove unused variable. * javax/security/cert/CertificateEncodingException.java: Add explicit serialVersionUID. * javax/security/cert/CertificateException.java: Likewise. * javax/security/cert/CertificateExpiredException.java: Likewise. * javax/security/cert/CertificateNotYetValidException.java: Likewise. * javax/security/cert/CertificateParsingException.java: Likewise. * javax/security/sasl/AuthenticationException.java: Likewise. * javax/security/sasl/RealmCallback.java: Likewise. * javax/security/sasl/RealmChoiceCallback.java: Likewise. * javax/security/sasl/Sasl.java: Add type parameters. * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. 2014-05-07 Andrew John Hughes * java/io/IOException.java: (IOException(String,Throwable)): Add missing constructor. (IOException(Throwable)): Likewise. 2014-04-30 Andrew John Hughes * configure.ac: Remove check for sys/loadavg.h used by Solaris 9. * native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c: Remove Solaris 9 ifdef and update copyright header. 2014-04-20 Andrew John Hughes * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c: Use correct inclusion method, allowing builds with >=2.5.3. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c: Likewise. 2014-04-14 Andrew John Hughes Fix issues with parallel make. * lib/Makefile.am: (.PHONY): Remove genclasses; no longer phony. (classes): Remove. (genclasses): Touch genclasses to mark completion. (gen-xpath-parser): Touch gen-xpath-parser to mark completion. (compile-classes): Depend on genclasses directly. (CLEANFILES): Remove gen-xpath-parser and genclasses. 2013-09-04 Andrew John Hughes * javax/lang/model/SourceVersion.java: (RELEASE_7): New enum value. * javax/lang/model/UnknownEntityException.java: New exception class. (UnknownEntityException(String)): New constructor. * javax/lang/model/element/ElementKind.java: (RESOURCE_VARIABLE): New enum value. * javax/lang/model/element/ExecutableElement.java: Extend mixin interface Parameterizable. * javax/lang/model/element/PackageElement.java: Extend mixin interface QualifiedNameable. * javax/lang/model/element/Parameterizable.java: New interface. (getTypeParameters()): New method. * javax/lang/model/element/QualifiedNameable.java: New interface. (getQualifiedName()): New method. * javax/lang/model/element/TypeElement.java: Extend mixin interfaces Parameterizable and QualifiedNameable. * javax/lang/model/element/UnknownAnnotationValueException.java: Extend UnknownEntityException instead of RuntimeException. (UnknownAnnotationValueException(AnnotationValue,Object)): Call superclass with error message. * javax/lang/model/element/UnknownElementException.java: Extend UnknownEntityException instead of RuntimeException. (UnknownElementException(Element,Object)): End sentence with a full stop, not a comma. * javax/lang/model/type/MirroredTypeException.java: Extend MirroredTypesException instead of RuntimeException. (mirror): Removed. (MirroredTypeException(TypeMIrror)): Store mirror using list in superclass rather than a local variable. (getTypeMirror()): Return first (and only) element from getTypeMirrors(). * javax/lang/model/type/TypeKind.java: (UNION): New enum value. * javax/lang/model/type/TypeVisitor.java: (visitUnion(UnionType,P)): New method. * javax/lang/model/type/UnionType.java: New interface. (getAlternatives()): New method. * javax/lang/model/type/UnknownTypeException.java, Extend UnknownEntityException instead of RuntimeException. (UnknownTypeException(TypeMirror,Object)): Call superclass with error message. 2013-08-07 Andrew John Hughes * doc/cp-tools.texinfo: Fix bad use of gccoptlist. 2013-07-10 Andrew John Hughes * NEWS: Mention PR57070. 2013-07-03 Andrew John Hughes * javax/lang/model/util/ElementFilter.java: (typesIn(Iterable)): Implemented. (constructorsIn(Iterable)): Likewise. (fieldsIn(Iterable)): Likewise. (methodsIn(Iterable)): Likewise. (packagesIn(Iterable)): Likewise. (FilteredList(Iterable,ElementKind...)): Fix documentation. (FilteredIterator): Make non-final so it can be subclassed. (FilteredIterator.kinds): Make protected, allowing access form subclass. (FilteredList): New class. (FilteredList.elements): The filtered Iterable. (FilteredList.kinds): The kinds to allow. (FilteredList.FilteredList(Iterable,ElementKind...)): New constructor. (FilteredList.listIterator(int)): New method. (FilteredList.size()): Likewise. (FilteredListIterator): New class. (FilteredListIterator.listIterator): The underlying iterator. (FilteredListIterator.index): The position. (FilteredListIterator.cache): The cache of elements. (FilteredListIterator.FilteredListIterator(iterator, index,kinds)): New constructor. (FilteredListIterator.next()): New method. (FilteredListIterator.add(E)): Likewise. (FilteredListIterator.hasPrevious()): Likewise. (FilteredListIterator.previous()): Likewise. (FilteredListIterator.nextIndex()): Likewise. (FilteredListIterator.previousIndex()): Likewise. (FilteredListIterator.set(E)): Likewise. 2013-06-06 Andrew John Hughes * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java: (AicasGraphicsBenchmark()): Use absolute paths to resources so they work within the zip file. 2013-06-06 Andrew John Hughes * native/jni/gstreamer-peer/gst_classpath_src.c: Define GLIB_DISABLE_DEPRECATION_WARNINGS so the use of GStaticRecMutex in GStreamer still works. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: (init_glib_threads(JNIEnv,jint,jobject)): Only call g_thread_init on GLib < 2.32. 2013-06-04 Andrew John Hughes * gnu/java/security/PolicyFile.java: (parse(URL)): Fix missing bracket. 2013-05-26 Andrew John Hughes * gnu/java/security/PolicyFile.java: (fs): Remove unnecessary cast. (DEFAULT_POLICY): Likewise. (DEFAULT_USER_POLICY): Likewise. (cs2pc): Add type parameters. (PolicyFile): Likewise. (getPermissions(CodeSource)): Use for-each loops and remove unnecessary casts. (refresh()): Add missing type parameters. (parse(URL)): Likewise and remove unnecessary casts. 2013-05-26 Andrew John Hughes * gnu/java/net/loader/JarURLLoader.java: (indexSet): Add type parameter. (JarURLLoader(URLClassLoader,URLStreamHandlerCache, URLStreamHandlerFactory,URL,URL,Set)): Add type parameter to Set. * gnu/java/net/loader/URLLoader.java: (getClass(String)): Add type parameter to return type. * gnu/java/net/protocol/http/HTTPConnection.java: (run()): Remove redundant cast. (get(String,int,boolean,int,int)): Add type parameter to ListIterator and drop cast. (removeOldest()): Remove redundant cast. (getSocket()): Add type parameter to Iterator and drop cast. 2013-05-26 Andrew John Hughes * THANKYOU: List Carl Ritson. 2013-04-25 Carl Ritson * vm/reference/java/lang/VMProcess.java, (ProcessThread.run()): Use notifyAll not notify. (ProcessThread.spawn()): Likewise. (VMProcess(String[],String[],File,boolean)): Likewise. 2013-02-17 Andrew John Hughes Fix warnings. * java/util/TreeMap.java: (nil): Add type parameters. (root): Likewise. (left): Don't set to nil here. (right): Likewise. (parent): Likewise. (Node(K,V,int)): Set left, right and parent here using correctly typed nil. (TreeMap()): Cast Comparator with type parameters. (TreeMap(Map)): Likewise. (TreeMap(SortedMap)): Remove unused variable. Use for-each loop and typed nil. (clone()): Separate cast and cloning. Add type parameters to node and cnode. (containsKey(Object)): Cast key. (containsvalue()): Add type parameters to node. (get(Object)): Cast key. (headMap(K,boolean)): Likewise. (put(K,V)): Cast nil before assigning to parent. Add type parameters to n. (putAll(Map)): Rewrite using for-each loop. (remove(Object)): Cast key. (tailMap(K,boolean)): Likewise. (values()): Add type parameter to iterator. (compare(K,K)): Suppress warnings. (fabricateTree(int)): Use typed nil. Add type parameters to root, row, parent, last, left, right and next. (firstNode()): Add type parameters to node. (highestLessThan(K,boolean)): Use typed nil. (insertFixup(Node)): Add type parameters to uncle. (lastNode()): Add type parameters to node. (lowestGreaterThan(K,boolean,boolean)): Use typed nil. (predecessor(Node)): Add type parameters to parent. (putFromObjStream(ObjectInputStream,int,V)): Pass value with type rather than using String. Add type parameter to node. (putKeysLinear(Iterator,int,V)): Pass in value rather than using empty string. (readObject(ObjectInputStream)): Call putFromObjStream with null rather than true. (removeNode(Node)): Add type parameters to parent. (rotateLeft(Node)): Add type parameters to child. (rotateRight(Node)): Likewise. (writeObject(ObjectOutputStream)): Add type parameters to node. (TreeIterator): Add type parameter. (TreeIterator.last): Likewise. (TreeIterator.next): Likewise. (TreeIterator.max): Likewise. (TreeIterator.TreeIterator(int)): Cast nil. (TreeIterator.TreeIterator(int,Node,Node)): Add type parameters. (TreeIterator.next()): Suppress warnings and cast to correct type. (descendingMap()): Add type parameters. (clear()): Add type parameters to next, max and current. (SubMap.containsKey(Object)): Fix casting of key. (SubMap.containsValue(Object)): Add type parameters to node and max. (SubMap.get(Object)): Fix casting of key. (SubMap.remove(Object)): Likewise. (SubMap.size()): Add type parameters to node and max. (SubMap.values()): Add type parameter to AbstractCollection, first, max and TreeIterator. (SubMap.KeySet.iterator()): Add type parameters to first and max. (SubMap.KeySet.contains(Object)): Fix casting of key. (SubMap.KeySet.remove(Object)): Likewise. (SubMap.NavigableKeySet.descendingSet()): Add type parameter to DescendingSet. (SubMap.EntrySet.iterator()): Add type parameters to first and max. (SubMap.EntrySet.contains(Object)): Fix casting of entry. (SubMap.EntrySet.remove(Object)): Likewise. (SubMap.NavigableEntrySet.descendingSet()): Add type parameter to DescendingSet. (SubMap.NavigableEntrySet.tailSet(Entry,boolean)): Return entry set, not key set. (DescendingMap.headMap(DK,boolean)): Add type parameters. (DescendingMap.subMap(DK,boolean,DK,boolean)): Likewise. (DescendingMap.tailMap(Dk,boolean)): Likewise. (DescendingMap.values()): Add type parameter to AbstractCollection. (KeySet.iterator()): Add type parameter to TreeIterator. (KeySet.remove(Object)): Fix casting of key. (NavigableKeySet.headSet(D,boolean)): Add type parameter. (NavigableKeySet.subSet(D,boolean,D,boolean)): Likewise. (NavigableKeySet.tailSet(D,boolean)): Likewise. (NavigableKeySet.toArray()): Suppress warnings on cast. (NavigableKeySet.toArray(T[])): Likewise. (EntrySet.iterator()): Add type parameter to TreeIterator. (EntrySet.contains(Object)): Fix casting of entry. (EntrySet.remove(Object)): Likewise. (NavigableEntrySet.descendingSet()): Add type parameter to DescendingSet. (NavigableEntrySet.tailSet(Entry,boolean)): Return entry set, not key set. * java/util/TreeSet.java: (TreeSet(SortedSet)): Explicitly pass empty String to putKeysLinear as it no longer defaults to this. (readObject(ObjectInputStream)): Pass empty String rather than false, which will in turn make "" == null return false in putFromObjStream. 2013-03-12 Pekka Enberg * autogen.sh: Check that gettext.m4 is installed. 2013-03-09 Pekka Enberg * .gitignore: Exclude autogen-generated files. 2013-03-04 Andrew John Hughes * gnu/classpath/Pair.java: (equals(Object)): Cast to Pair not Pair as we don't know that the objects held by the pair are of the same type. * gnu/classpath/ServiceProviderLoadingAction.java: (run()): Suppress warning as we check the loaded class is an instance of P. * gnu/classpath/jdwp/Jdwp.java: (_properties): Add type parameters. (notify(Event[])): Likewise. (_processConfigury(String)): Likewise. * gnu/classpath/jdwp/event/ClassPrepareEvent.java: (_class): Add type parameter. (ClassPrepareEvent(Thread,class,int)): Likewise. * gnu/classpath/jdwp/event/ClassUnloadEvent.java: (writeData(DataOutputStream)): Don't store result of getDefault() call as unused. Retain for side-effects. * gnu/classpath/jdwp/event/EventManager.java: (_requests): Add type parameters. (EventManager()): Likewise & use Byte.valueOf rather than new. (getEventRequests(Event)): Likewise and remove unneeded cast. (requestEvent(EventRequest)): Add type parameters, remove unneeded cast and use Integer.valueOf rather than new. (deleteRequest(byte,int)): Add type parameters, use valueOf methods instead of constructors and drop unneeded cast. (clearRequests(byte)): Add type parameters and use Byte.valueOf. (getRequest(byte,int)): Likewise and drop unused cast and use Integer.valueOf. (getRequests(byte)): Add type parameters and use Byte.valueOf. * gnu/classpath/jdwp/event/EventRequest.java: (_filters): Add type parameter. (EventRequest(byte,byte)): Likewise. (EventRequest(int,byte,byte)): Likewise. (addFilter(IEventFilter)): Likewise. (getFilters()): Likewise. (matches(Event)): Likewise and remove unneeded cast. * gnu/classpath/jdwp/event/ExceptionEvent.java: (_klass): Add type parameter. (ExceptionEvent(Throwable,Thread,Location,Location, Class,Object)): Likewise. * gnu/classpath/jdwp/event/filters/ClassMatchFilter.java: (matches(Event)): Add type parameter. * gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java: (matches(Event)): Add type parameters. * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java: (matches(Event)): Add type parameter. * gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java: (FieldOnlyFilter(ReferenceTypeId,ReferenceTypeId)): Avoid throwing a NullPointerException by using new constructors for InvalidClassException and InvalidFieldException. * gnu/classpath/jdwp/exception/InvalidClassException.java: (InvalidClassException()): New constructor for when there is no ID (i.e. null was passed). * gnu/classpath/jdwp/exception/InvalidFieldException.java (InvalidFieldException()): New constructor for when there is no ID (i.e. null was passed). * gnu/classpath/jdwp/id/ClassLoaderId.java: (typeClass): Add type parameter. * gnu/classpath/jdwp/id/ClassObjectId.java, (typeClass): Add type parameter. (getClassObject()): Add type parameters. * gnu/classpath/jdwp/id/JdwpId.java: (_reference): Add type parameter. (getReference()): Likewise. (setReference(SoftReference)): Likewise. * gnu/classpath/jdwp/id/NullObjectId.java: (typeClass): Add type parameter. (NullObjectId()): Change type parameter to same used by superclass. * gnu/classpath/jdwp/id/ObjectId.java: (typeClass): Add type parameter. * gnu/classpath/jdwp/id/ReferenceTypeId.java: (getType()): Add type parameters. * gnu/classpath/jdwp/id/StringId.java, * gnu/classpath/jdwp/id/ThreadGroupId.java, * gnu/classpath/jdwp/id/ThreadId.java: (typeClass): Add type parameter. * gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java: (executeGetvalues(ByteBuffer,DataOutputStream)): Add type parameter. (executeSetValues(ByteBuffer,DataOutputStream)): Likewise. * gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java: (executeNewInstance(ByteBuffer,DataOutputStream)): Add type parameters. * gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java: (executeVisibleClasses(ByteBuffer,DataOutputStream)): Add type parameters. Hide warnings from VM layer for now. * gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java: (executeReflectedType(ByteBuffer,DataOutputStream)): Add type parameter. * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java: (executeSuperclass(ByteBuffer,DataOutputStream)): Add type parameter. (executeSetValues(ByteBuffer,DataOutputStream)): Call readReferenceTypeId only for side effect of changing the ByteBuffer. Result not needed. (invokeMethod(ByteBuffer)): Add type parameter. * gnu/classpath/jdwp/processor/MethodCommandSet.java: (executeLineTable(ByteBuffer,DataOutputStream)): Add type parameter. (executeVariableTable(ByteBuffer,DataOutputStream)): Likewise. (executeByteCodes(ByteBuffer,DataOutputStream)): Likewise. * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java: (executeReferenceType(ByteBuffer,DataOutputStream)): Add type parameter. (executeInvokeMethod(ByteBuffer,DataOutputStream)): Likewise. * gnu/classpath/jdwp/processor/PacketProcessor.java: Add type parameter to implemented interface. (run()): Change return type to match type parameter. * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java: (executeClassLoader(ByteBuffer,DataOutputStream)): Add type parameter. (executeModifiers(ByteBuffer,DataOutputStream)): Likewise. (executeFields(ByteBuffer,DataOutputStream)): Likewise. (executeMethods(ByteBuffer,DataOutputStream)): Likewise. (executeGetValues(ByteBuffer,DataOutputStream)): Likewise. (executeSourceFile(ByteBuffer,DataOutputStream)): Likewise. (executeNestedTypes(ByteBuffer,DataOutputStream)): Add type parameters. (executeStatus(ByteBuffer,DataOutputStream)): Add type parameter. (executeInterfaces(ByteBuffer,DataOutputStream)): Add type parameters. (executeClassObject(ByteBuffer,DataOutputStream)): Add type parameter. * gnu/classpath/jdwp/processor/StackFrameCommandSet.java: (runCommand(ByteBuffer,DataOutputStream,byte)): Remove unused keepRunning variable. * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: (executeFrames(ByteBuffer,DataOutputStream)): Add type parameter, suppressing warnings from VM layer until fixed. Remove unnecessary cast. * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java: (executeClassesBySignature(ByteBuffer,DataOutputStream)): Add type parameters, suppressing warnings from VM layer. (executeAllClasses(ByteBuffer,DataOutputStream)): Likewise. (executeRedefineClasses(ByteBuffer,DataOutputStream)): Add type parameter. * gnu/classpath/jdwp/transport/ITransport.java: (configure(HashMap)): Add type parameters. * gnu/classpath/jdwp/transport/JdwpConnection.java: (_commandQueue): Add type parameter. (JdwpConnection(ThreadGroup,ITransport)): Likewise. (getPacket()): Remove unnecessary cast. * gnu/classpath/jdwp/transport/JdwpPacket.java: (fromBytes(byte[])): Add type parameter. * gnu/classpath/jdwp/transport/SocketTransport.java: (configure(HashMap)): Add type parameters. Remove unnecessary cast. * gnu/classpath/jdwp/transport/TransportFactory.java: (clazz): Add type parameter. (TransportMethod(String,Class)): Likewise. (newInstance(HashMap)): Add type parameters. Remove unnecessary cast. * gnu/classpath/jdwp/util/Location.java: (Location(ByteBuffer)): Don't store return value of first bb.get() call as unneeded. Add type parameter. * gnu/classpath/jdwp/util/Signature.java: (computeClassSignature(Class)): Add type parameter. (_computeSignature(Class,Class[])): Likewise. (_addToSignature(CPStringBuilder,Class)): Likewise. * gnu/classpath/jdwp/value/Value.java: (getUntaggedObject(ByteBuffer,Class)): Add type parameter. * gnu/classpath/jdwp/value/ValueFactory.java: (createFromUntagged(ByteBuffer,Class)): Add type parameter. (getTagForClass(Class)): Likewise. (createFromObject(Object,Class)): Likewise. 2013-02-26 Andrew John Hughes * gnu/classpath/ServiceFactory.java: (LOGGER): Removed. (lookupProviders(Class,ClassLoader,boolean)): Use SystemLogger/Component mechanism for logging. (ServiceIterator.loadNextServiceProvider()): Likewise. Handle end-of-line comments as used by ecj. (advanceReader()): Use SystemLogger/Component mechanism for logging. (log(Component,Throwable,String,Object...)): Change signature to use Component and take a variable length series of Objects. Call SystemLogger instance rather than using local logging. * gnu/classpath/debug/Component.java: (EVERYTHING): Extend range to include new components. (SSL_HANDSHAKE): Avoid spaces in name and change to match variable name for lookup. (SSL_RECORD_LAYER): Likewise. (SSL_KEY_EXCHANGE): Likewise. (SSL_DELEGATED_TASK): Likewise. (SERVICE_LOADING): New component for ServiceFactory. (SERVICE_LOADING_WARNING): Likewise. (SERVICE_LOADING_VERBOSE): Likewise. * gnu/classpath/debug/PreciseFilter.java: (isLoggable(LogRecord)): Use instanceof rather than triggering a ClassCastException and the whole exception throwing mechanism. * gnu/classpath/debug/SystemLogger.java: (static): Fully initialise logger so all selection is handled by the filter. (logp(Component,String,String,Throwable,String,Object...)): Adapted from log method in ServiceFactory. Handles logging with both a Throwable and our own message. * java/util/logging/Formatter.java: Correct comment typo. * javax/tools/ToolProvider.java: Implemented. (compiler): New field. (COMPILER_CLASS): New constant field. (getSystemJavaCompiler()): Return ecj if available. (getSystemToolClassLoader()): Return classloader used to load compiler. (getCompilerClass()): Assistance method for finding the compiler class. (log(Component,Throwable,String,Object...)): Logging method to auto-include the source class/method used locally. 2013-02-21 Andrew John Hughes * javax/annotation/processing/AbstractProcessor.java: New class added. (processingEnv): Added. (initialized): Likewise. (AbstractProcessor()): Implemented. (getCompletions(Element,AnnotationMirror,ExecutableElement, String)): Likewise. (getSupportedAnnotationTypes()):Likewise. (getSupportedOptions()): Likewise. (getSupportedSourceVersion()): Likewise. (init(ProcessingEnvironment)): Likewise. (isInitialized()): Likewise. (process(Set,RoundEnvironment)): Likewise. * javax/annotation/processing/Completion.java: New interface added. (getValue()): Added. (getMessage()): Likewise. * javax/annotation/processing/Processor.java: (getCompletions(Element,AnnotationMirror,ExecutableElement, String)): Added. * javax/annotation/processing/SupportedAnnotationTypes.java: New annotation added. (value()): Added. * javax/annotation/processing/SupportedOptions.java: New annotation added. (value()): Added. * javax/annotation/processing/SupportedSourceVersion.java: Reference AbstractProcessor in documentation. 2013-02-18 Andrew John Hughes * javax/lang/model/SourceVersion.java, (KEYWORDS): Add array containing language keywords. (isKeyword(CharSequence)): Implemented. (isName(CharSequence)): Likewise. 2013-02-18 Andrew John Hughes * javax/annotation/processing/SupportedSourceVersion.java: Implemented. (value()): Implemented. * javax/lang/model/element/ElementVisitor.java: Fix typo: "implementators" should be "implementors". * javax/lang/model/element/UnknownElementException.java: (UnknownElementException(Element,Object)): Set message using superclass constructor. * javax/lang/model/util/AbstractElementVisitor6.java: Implemented. (AbstractElementVisitor6()): Implemented. (visit(Element)): Likewise. (visit(Element,P)): Likewise. (visitUnknown(Element,P)): Likewise. * javax/lang/model/util/ElementScanner6.java: Implemented. (ElementScanner6()): Implemented. (ElementScanner6(R)): Likewise. (scan(Element)): Likewise. (scan(Element, P)): Likewise. (scan(Iterable, P)): Likewise. (visitExecutable(ExecutableElement, P)): Likewise. (visitPackage(PackageElement, P)): Likewise. (visitType(TypeElement, P)): Likewise. (visitTypeParameter(TypeElement, P)): Likewise. (visitVariable(VariableElement, P)): Likewise. * javax/lang/model/util/SimpleElementVisitor6.java, Implemented. (DEFAULT_VALUE): Added. (SimpleElementVisitor6()): Implemented. (SimpleElementVisitor6(R)): Likewise. (defaultAction(Element, P)): Likewise. (visitExecutable(ExecutableElement, P)): Likewise. (visitPackage(PackageElement, P)): Likewise. (visitType(TypeElement, P)): Likewise. (visitTypeParameter(TypeElement, P)): Likewise. (visitVariable(VariableElement, P)): Likewise. * javax/tools/ForwardingJavaFileManager.java: Implemented. (fileManager): Added. (ForwardingJavaFileManager(M)): Implemented. (close()): Likewise. (flush()): Likewise. (getClassLoader(JavaFileManager.Location)): Likewise. (getFileForInput(JavaFileManager.Location, String, String)): Likewise. (getFileForOutput(JavaFileManager.Location, String, String, FileObject)): Likewise. (getJavaFileForInput(JavaFileManager.Location, String, JavaFileObject.Kind)): Likewise. (getJavaFileForOutput(JavaFileManager.Location, String, JavaFileObject.Kind, FileObject)): Likewise. (handleOption(String,Iterator)): Likewise. (hasLocation(JavaFileManager.Location)): Likewise. (inferBinaryName(JavaFileManager.Location, JavaFileObject)): Likewise. (isSameFile(FileObject, FileObject)): Likewise. (isSupportedOption(String)): Likewise. (list(JavaFileManager.Location, String, Set, boolean)): Likewise. 2013-02-03 Andrew John Hughes * javax/lang/model/util/ElementFilter.java: (constructorsIn(Set)): Implemented. (fieldsIn(Set)): Likewise. (methodsIn(Set)): Likewise. (packagesIn(Set)): Likewise. 2013-02-01 Andrew John Hughes * javax/lang/model/element/ElementKind.java: (ANNOTATION_TYPE): Documented. (CLASS): Likewise. (CONSTRUCTOR): Likewise. (ENUM): Likewise. (ENUM_CONSTANT): Likewise. (EXCEPTION_PARAMETER): Likewise. (FIELD): Likewise. (INSTANCE_INIT): Likewise. (INTERFACE): Likewise. (LOCAL_VARIABLE): Likewise. (METHOD): Likewise. (OTHER): Likewise. (PACKAGE): Likewise. (PARAMETER): Likewise. (STATIC_INIT): Likewise. (TYPE_PARAMETER): Likewise. (isClass()): Implemented. (isField()): Likewise. (isInterface()): Likewise. 2013-02-01 Andrew John Hughes The type of element should be determined by its kind, not by the class. * javax/lang/model/util/ElementFilter.java: (typesIn(Set)): Pass list of type kinds to FilteredSet constructor, rather than TypeElement.class. (ElementFilter.clazz): Removed. (ElementFilter.kinds): Added. (FilteredSet(Set,ElementKind...)): Take a varargs list of ElementKinds rather than a class. (FilteredSet.contains(Object)): Make test dependent on whether the element's kind is in the array of kinds, not whether it is an instance of a class. (FilteredSet.iterator()): Use new FilteredIterator constructor. (FilteredSet.remove(Object)): Call contains to check if filtered out or not. (FilteredSet.size()): Replace isInstance with binary search of kinds array. (FilteredSet.toArray(T[])): Cast to Object[] to populate array to avoid warning. (FilteredSet.toString()): Return normal toString() output for a collection using the filtered iterator. (FilteredIterator.clazz): Removed. (FilteredIterator.kinds): Added. (FilteredIterator.next): Set type to Element not E. (FilteredIterator(Iterator, ElementKind...)): Again, use varargs list of ElementKinds rather than class. (FilteredIterator.hasNext()): Replace instanceof with binary search. (FilteredIterator.next()): Suppress warnings when casting to E. Safe as we know it's an E via the kind test. 2013-01-10 Matthias Klose * tools/gnu/classpath/tools/gjdoc/Main.java: Accept -source 1.5, 1.6, 1.7. 2013-01-04 Andrew John Hughes * javax/lang/model/element/AnnotationValueVisitor.java: (visitUnknown(AnnotationValue,P)): Mention throwing of UnknownAnnotationValueException in documentation. * javax/lang/model/element/ElementVisitor.java: (visitUnknown(Element,P)): Likewise for UnknownElementException. * javax/lang/model/element/UnknownAnnotationValueException.java: Implemented. (serialVersionUID): New field. (annValue): Likewise. (param): Likewise. (UnknownAnnotationValueException(AnnotationValue,Object)): Implemented. (getArgument()): Likewise. (getUnknownAnnotationValue()): Likewise. * javax/lang/model/element/UnknownElementException.java, Implemented. (serialVersionUID): New field. (element): Likewise. (param): Likewise. (UnknownElementException(Element,Object)): Implemented. (getArgument()): Likewise. (getUnknownElement()): Likewise. * javax/lang/model/type/MirroredTypeException.java, Implemented. (serialVersionUID): New field. (mirror): Likewise. (MirroredTypeException(TypeMirror)): Implemented. (getTypeMirror()): Likewise. * javax/lang/model/type/MirroredTypesException.java, Implemented. (serialVersionUID): New field. (mirrors): Likewise. (MirroredTypeException(List)): Implemented. (getTypeMirrors()): Likewise. * javax/lang/model/type/TypeVisitor.java, (visitUnknown(TypeMirror,P)): Mention throwing of UnknownTypeException in documentation. * javax/lang/model/type/UnknownTypeException.java, Implemented. (serialVersionUID): New field. (type): Likewise. (param): Likewise. (UnknownTypeException(TypeMirror,Object)): Implemented. (getArgument()): Likewise. (getUnknownType()): Likewise. 2012-12-28 Andrew John Hughes * gnu/xml/validation/datatype/AnySimpleType.java: (AnySimpleType()): Remove unneeded cast. * gnu/xml/validation/datatype/AtomicSimpleType.java: (AtomicSimpleType(QName,Set,int,SimpleType, Annotation)): Add type parameter to Set. * gnu/xml/validation/datatype/BooleanType.java: (VALUE_SPACE): Likewise. * gnu/xml/validation/datatype/DoubleType.java: (SPECIAL): Likewise. * gnu/xml/validation/datatype/DurationType.java: (Duration): Implement Comparable not Comparable. (Duration.hashCode()): Add @Override. (Duration.equals(Object)): Likewise. (Duration.compareTo(Duration)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. (createValue(String,ValidationContext)): Remove unused months field. Set duration.years from years. * gnu/xml/validation/datatype/FloatType.java: (SPECIAL): Add type parameter. * gnu/xml/validation/datatype/GDayType.java, (GDay): Implement Comparable not Comparable. (GDay.hashCode()): Add @Override. (GDay.equals(Object)): Likewise. (GDay.compareTo(GDay)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GMonthDayType.java: (GMonthDay): Implement Comparable not Comparable. (GMonthDay.hashCode()): Add @Override. (GMonthDay.equals(Object)): Likewise. (GMonthDay.compareTo(GMonthDay)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GMonthType.java: (GMonth): Implement Comparable not Comparable. (GMonth.hashCode()): Add @Override. (GMonth.equals(Object)): Likewise. (GMonth.compareTo(GMonth)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GYearMonthType.java, (GYearMonth): Implement Comparable not Comparable. (GYearMonth.hashCode()): Add @Override. (GYearMonth.equals(Object)): Likewise. (GYearMonth.compareTo(GYearMonth)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GYearType.java, (GYear): Implement Comparable not Comparable. (GYear.hashCode()): Add @Override. (GYear.equals(Object)): Likewise. (GYear.compareTo(GYear)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/ListSimpleType.java: (ListSimpleType(QName,Set,int,SimpleType,Annotation, SimpleType)): Add type parameter to Set. * gnu/xml/validation/datatype/MaxExclusiveFacet.java: (matches(Object)): Use Comparable. * gnu/xml/validation/datatype/MaxInclusiveFacet.java: (matches(Object)): Likewise. * gnu/xml/validation/datatype/MinExclusiveFacet.java: (matches(Object)): Likewise. * gnu/xml/validation/datatype/MinInclusiveFacet.java: (matches(Object)): Likewise. * gnu/xml/validation/datatype/SimpleType.java: (facets): Add type parameter to Set. (SimpleType(QName,int,Set,int,SimpleType,Annotation)): Likewise. (checkValid(String,ValidationContext)): Add type parameter to Iterator and remove unnecessary cast. * gnu/xml/validation/datatype/TimeType.java: (Time): Implement Comparable