iter = immediate.iterator();
while (iter.hasNext()) {
- InterfaceType interfaze = (InterfaceType)iter.next();
+ InterfaceType interfaze = iter.next();
if (list.contains(interfaze)) {
iter.remove();
}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/InternalEventHandler.java Tue Dec 20 15:27:55 2011 -0800
@@ -59,7 +59,7 @@
ClassUnloadEvent cuEvent = (ClassUnloadEvent)event;
vm.removeReferenceType(cuEvent.classSignature());
- if ((vm.traceFlags & vm.TRACE_EVENTS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_EVENTS) != 0) {
vm.printTrace("Handled Unload Event for " +
cuEvent.classSignature());
}
@@ -68,7 +68,7 @@
((ReferenceTypeImpl)cpEvent.referenceType())
.markPrepared();
- if ((vm.traceFlags & vm.TRACE_EVENTS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_EVENTS) != 0) {
vm.printTrace("Handled Prepare Event for " +
cpEvent.referenceType().name());
}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/JDWPException.java Tue Dec 20 15:27:55 2011 -0800
@@ -27,7 +27,7 @@
import com.sun.jdi.*;
class JDWPException extends Exception {
-
+ private static final long serialVersionUID = -6321344442751299874L;
short errorCode;
JDWPException(short errorCode) {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/LinkedHashMap.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/LinkedHashMap.java Tue Dec 20 15:26:23 2011 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,904 +0,0 @@
-/*
- * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.tools.jdi;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Hash table based implementation of the Map interface. This implementation
- * provides all of the optional Map operations, and permits null values and
- * the null key. (HashMap is roughly equivalent to Hashtable, except that it
- * is unsynchronized and permits nulls.) In addition, elements in the map are
- * ordered and doubly linked together.
- *
- * This implementation provides constant-time performance for the basic
- * operations (get and put), assuming the the hash function disperses the
- * elements properly among the buckets. Iteration over Collection views
- * requires time proportional to its size (the number of key-value mappings)
- * and returns elements in the order they are linked. In a HashMap the
- * iteration would require time proportional to the capacity of the map
- * plus the map size.
- *
- * An instance of LinkedHashMap has two parameters that affect its efficiency:
- * its capacity and its load factor. The load factor should be
- * between 0.0 and 1.0. When the number of mappings in the LinkedHashMap exceeds
- * the product of the load factor and the current capacity, the capacity is
- * increased by calling the rehash method which requires time proportional
- * to the number of key-value mappings in the map. Larger load factors
- * use memory more efficiently, at the expense of larger expected time per
- * lookup.
- *
- * If many mappings are to be stored in a LinkedHashMap, creating it with a
- * sufficiently large capacity will allow the mappings to be stored more
- * efficiently than letting it perform automatic rehashing as needed to grow
- * the table.
- *
- * Note that this implementation is not synchronized. If
- * multiple threads access a LinkedHashMap concurrently, and at least one of the
- * threads modifies the LinkedHashMap structurally, it must be
- * synchronized externally. (A structural modification is any operation that
- * adds or deletes one or more mappings; merely changing the value associated
- * with a key that is already contained in the Table is not a structural
- * modification.) This is typically accomplished by synchronizing on some
- * object that naturally encapsulates the LinkedHashMap. If no such object
- * exists, the LinkedHashMap should be "wrapped" using the
- * Collections.synchronizedSet method. This is best done at creation time, to
- * prevent accidental unsynchronized access to the LinkedHashMap:
- *
- * Map m = Collections.synchronizedMap(new LinkedHashMap(...));
- *
- *
- * The Iterators returned by the iterator methods of the Collections returned
- * by all of LinkedHashMap's "collection view methods" are fail-fast:
- * if the LinkedHashMap is structurally modified at any time after the Iterator
- * is created, in any way except through the Iterator's own remove or add
- * methods, the Iterator will throw a ConcurrentModificationException. Thus,
- * in the face of concurrent modification, the Iterator fails quickly and
- * cleanly, rather than risking arbitrary, non-deterministic behavior at an
- * undetermined time in the future.
- *
- * @author Josh Bloch
- * @author Arthur van Hoff
- * @author Zhenghua Li
- * @see Object#hashCode()
- * @see java.util.Collection
- * @see java.util.Map
- * @see java.util.TreeMap
- * @see java.util.Hashtable
- * @see java.util.HashMap
- */
-
-import java.io.Serializable;
-
-public class LinkedHashMap extends AbstractMap implements Map, Serializable {
- /**
- * The hash table data.
- */
- private transient Entry table[];
-
- /**
- * The head of the double linked list.
- */
- private transient Entry header;
-
- /**
- * The total number of mappings in the hash table.
- */
- private transient int count;
-
- /**
- * Rehashes the table when count exceeds this threshold.
- */
- private int threshold;
-
- /**
- * The load factor for the LinkedHashMap.
- */
- private float loadFactor;
-
- /**
- * The number of times this LinkedHashMap has been structurally modified
- * Structural modifications are those that change the number of mappings in
- * the LinkedHashMap or otherwise modify its internal structure (e.g.,
- * rehash). This field is used to make iterators on Collection-views of
- * the LinkedHashMap fail-fast. (See ConcurrentModificationException).
- */
- private transient int modCount = 0;
-
- /**
- * Constructs a new, empty LinkedHashMap with the specified initial
- * capacity and the specified load factor.
- *
- * @param initialCapacity the initial capacity of the LinkedHashMap.
- * @param loadFactor a number between 0.0 and 1.0.
- * @exception IllegalArgumentException if the initial capacity is less
- * than or equal to zero, or if the load factor is less than
- * or equal to zero.
- */
- public LinkedHashMap(int initialCapacity, float loadFactor) {
- if (initialCapacity < 0)
- throw new IllegalArgumentException("Illegal Initial Capacity: "+
- initialCapacity);
- if ((loadFactor > 1) || (loadFactor <= 0))
- throw new IllegalArgumentException("Illegal Load factor: "+
- loadFactor);
- if (initialCapacity==0)
- initialCapacity = 1;
- this.loadFactor = loadFactor;
- table = new Entry[initialCapacity];
- threshold = (int)(initialCapacity * loadFactor);
- header = new Entry(-1, null, null, null);
- header.before = header.after = header;
- }
-
- /**
- * Constructs a new, empty LinkedHashMap with the specified initial capacity
- * and default load factor.
- *
- * @param initialCapacity the initial capacity of the LinkedHashMap.
- */
- public LinkedHashMap(int initialCapacity) {
- this(initialCapacity, 0.75f);
- }
-
- /**
- * Constructs a new, empty LinkedHashMap with a default capacity and load
- * factor.
- */
- public LinkedHashMap() {
- this(101, 0.75f);
- }
-
- /**
- * Constructs a new LinkedHashMap with the same mappings as the given
- * Map. The LinkedHashMap is created with a capacity of thrice the number
- * of mappings in the given Map or 11 (whichever is greater), and a
- * default load factor.
- */
- public LinkedHashMap(Map t) {
- this(Math.max(3*t.size(), 11), 0.75f);
- putAll(t);
- }
-
- /**
- * Returns the number of key-value mappings in this Map.
- */
- public int size() {
- return count;
- }
-
- /**
- * Returns true if this Map contains no key-value mappings.
- */
- public boolean isEmpty() {
- return count == 0;
- }
-
- /**
- * Returns true if this LinkedHashMap maps one or more keys to the specified
- * value.
- *
- * @param value value whose presence in this Map is to be tested.
- */
- public boolean containsValue(Object value) {
- if (value==null) {
- for (Entry e = header.after; e != header; e = e.after)
- if (e.value==null)
- return true;
- } else {
- for (Entry e = header.after; e != header; e = e.after)
- if (value.equals(e.value))
- return true;
- }
- return false;
- }
-
- /**
- * Returns true if this LinkedHashMap contains a mapping for the specified
- * key.
- *
- * @param key key whose presence in this Map is to be tested.
- */
- public boolean containsKey(Object key) {
- Entry tab[] = table;
- if (key != null) {
- int hash = key.hashCode();
- int index = (hash & 0x7FFFFFFF) % tab.length;
- for (Entry e = tab[index]; e != null; e = e.next)
- if (e.hash==hash && e.key.equals(key))
- return true;
- } else {
- for (Entry e = tab[0]; e != null; e = e.next)
- if (e.key==null)
- return true;
- }
-
- return false;
- }
-
- /**
- * Returns the value to which this LinkedHashMap maps the specified key.
- * Returns null if the LinkedHashMap contains no mapping for this key.
- * A return value of null does not necessarily indicate that the
- * LinkedHashMap contains no mapping for the key; it's also possible that
- * the LinkedHashMap explicitly maps the key to null. The containsKey
- * operation may be used to distinguish these two cases.
- *
- * @param key key whose associated value is to be returned.
- */
- public Object get(Object key) {
- Entry e = getEntry(key);
- return e==null ? null : e.value;
- }
-
- /**
- * Returns the entry associated with the specified key in the LinkedHashMap.
- * Returns null if the LinkedHashMap contains no mapping for this key.
- */
- private Entry getEntry(Object key) {
- Entry tab[] = table;
-
- if (key != null) {
- int hash = key.hashCode();
- int index = (hash & 0x7FFFFFFF) % tab.length;
- for (Entry e = tab[index]; e != null; e = e.next)
- if ((e.hash == hash) && e.key.equals(key))
- return e;
- } else {
- for (Entry e = tab[0]; e != null; e = e.next)
- if (e.key==null)
- return e;
- }
-
- return null;
- }
-
- /**
- * Rehashes the contents of the LinkedHashMap into a LinkedHashMap with a
- * larger capacity. This method is called automatically when the
- * number of keys in the LinkedHashMap exceeds this LinkedHashMap's capacity
- * and load factor.
- */
- private void rehash() {
- int oldCapacity = table.length;
- Entry oldMap[] = table;
-
- int newCapacity = oldCapacity * 2 + 1;
- Entry newMap[] = new Entry[newCapacity];
-
- modCount++;
- threshold = (int)(newCapacity * loadFactor);
- table = newMap;
-
- for (Entry e = header.after; e != header; e = e.after) {
- int index = (e.hash & 0x7FFFFFFF) % newCapacity;
- e.next = newMap[index];
- newMap[index] = e;
- }
- }
-
- /**
- * Remove an entry from the linked list.
- */
- private void listRemove(Entry entry) {
- if (entry == null) {
- return;
- }
- entry.before.after = entry.after;
- entry.after.before = entry.before;
- }
-
- /**
- * Add the specified entry before the specified existing entry to
- * the linked list.
- */
- private void listAddBefore(Entry entry, Entry existEntry) {
- entry.after = existEntry;
- entry.before = existEntry.before;
- entry.before.after = entry;
- entry.after.before = entry;
- }
-
- /**
- * Returns the position of the mapping for the specified key
- * in the ordered map.
- *
- * @param key the specified key.
- * @return index of the key mapping.
- */
- public int indexOf(Object key) {
- int i = 0;
- if (key == null) {
- for (Entry e = header.after; e != header; e = e.after, i++)
- if (e.key == null)
- return i;
- } else {
- for (Entry e = header.after; e != header; e = e.after, i++)
- if(key.equals(e.key))
- return i;
- }
- return -1;
- }
-
- /**
- * Associates the specified value with the specified key in this
- * LinkedHashMap. If the LinkedHashMap previously contained a mapping for
- * this key, the old value is replaced and the position of this mapping
- * entry in the double linked list remains the same. Otherwise, a new
- * mapping entry is created and inserted into the list before the specified
- * existing mapping entry. The method returns the previous value associated
- * with the specified key, or null if there was no mapping for key. A null
- * return can also indicate that the LinkedHashMap previously associated
- * null with the specified key.
- */
- private Object putAhead(Object key, Object value, Entry existEntry) {
- // Makes sure the key is not already in the LinkedHashMap.
- Entry tab[] = table;
- int hash = 0;
- int index = 0;
-
- if (key != null) {
- hash = key.hashCode();
- index = (hash & 0x7FFFFFFF) % tab.length;
- for (Entry e = tab[index] ; e != null ; e = e.next) {
- if ((e.hash == hash) && e.key.equals(key)) {
- Object old = e.value;
- e.value = value;
- return old;
- }
- }
- } else {
- for (Entry e = tab[0] ; e != null ; e = e.next) {
- if (e.key == null) {
- Object old = e.value;
- e.value = value;
- return old;
- }
- }
- }
-
- modCount++;
- if (count >= threshold) {
- // Rehash the table if the threshold is exceeded
- rehash();
- tab = table;
- index = (hash & 0x7FFFFFFF) % tab.length;
- }
-
- // Creates the new entry.
- Entry e = new Entry(hash, key, value, tab[index]);
- tab[index] = e;
- listAddBefore(e, existEntry);
- count++;
- return null;
- }
-
- /**
- * Associates the specified value with the specified key in this
- * LinkedHashMap and position the mapping at the specified index.
- * If the LinkedHashMap previously contained a mapping for this key,
- * the old value is replaced and the position of this mapping entry
- * in the double linked list remains the same. Otherwise, a new mapping
- * entry is created and inserted into the list at the specified
- * position.
- *
- * @param index the position to put the key-value mapping.
- * @param key key with which the specified value is to be associated.
- * @param value value to be associated with the specified key.
- * @return previous value associated with specified key, or null if there
- * was no mapping for key. A null return can also indicate that
- * the LinkedHashMap previously associated null with the specified
- * key.
- */
- public Object put(int index, Object key, Object value) {
- if (index < 0 || index > count)
- throw new IndexOutOfBoundsException();
- Entry e = header.after;
- if (index == count)
- return putAhead(key, value, header); //fast approach for append
- else {
- for (int i = 0; i < index; i++)
- e = e.after;
- return putAhead(key, value, e);
- }
- }
-
-
- /**
- * Associates the specified value with the specified key in this
- * LinkedHashMap. If the LinkedHashMap previously contained a mapping for
- * this key, the old value is replaced. The mapping entry is also appended
- * to the end of the ordered linked list.
- *
- * @param key key with which the specified value is to be associated.
- * @param value value to be associated with the specified key.
- * @return previous value associated with specified key, or null if there
- * was no mapping for key. A null return can also indicate that
- * the LinkedHashMap previously associated null with the specified
- * key.
- */
- public Object put(Object key, Object value) {
- return putAhead(key, value, header);
- }
-
- /**
- * Removes the mapping for this key from this LinkedHashMap if present.
- * The mapping would also be removed from the double linked list.
- *
- * @param key key whose mapping is to be removed from the Map.
- * @return previous value associated with specified key, or null if there
- * was no mapping for key. A null return can also indicate that
- * the LinkedHashMap previously associated null with the specified
- * key.
- */
- public Object remove(Object key) {
- Entry tab[] = table;
-
- if (key != null) {
- int hash = key.hashCode();
- int index = (hash & 0x7FFFFFFF) % tab.length;
-
- for (Entry e = tab[index], prev = null; e != null;
- prev = e, e = e.next) {
- if ((e.hash == hash) && e.key.equals(key)) {
- modCount++;
- if (prev != null)
- prev.next = e.next;
- else
- tab[index] = e.next;
-
- count--;
- Object oldValue = e.value;
- e.value = null;
-
- listRemove(e);
- return oldValue;
- }
- }
- } else {
- for (Entry e = tab[0], prev = null; e != null;
- prev = e, e = e.next) {
- if (e.key == null) {
- modCount++;
- if (prev != null)
- prev.next = e.next;
- else
- tab[0] = e.next;
-
- count--;
- Object oldValue = e.value;
- e.value = null;
-
- listRemove(e);
- return oldValue;
- }
- }
- }
-
- return null;
- }
-
- /**
- * Copies all of the mappings from the specified Map to this LinkedHashMap
- * These mappings will replace any mappings that this LinkedHashMap had for
- * any of the keys currently in the specified Map.
- *
- * @param t Mappings to be stored in this Map.
- */
- public void putAll(Map t) {
- Iterator i = t.entrySet().iterator();
- while (i.hasNext()) {
- Map.Entry e = (Map.Entry) i.next();
- put(e.getKey(), e.getValue());
- }
- }
-
- /**
- * Removes all mappings from this LinkedHashMap.
- */
- public void clear() {
- Entry tab[] = table;
- modCount++;
- for (int index = tab.length; --index >= 0; )
- tab[index] = null;
- count = 0;
- header.before = header.after = header;
- }
-
- /**
- * Returns a shallow copy of this LinkedHashMap. The keys and values
- * themselves are not cloned.
- */
- public Object clone() {
- return new LinkedHashMap(this);
- }
-
- // Views
-
- private transient Set keySet = null;
- private transient Set entries = null;
- private transient Collection values = null;
-
- /**
- * Returns a Set view of the keys contained in this LinkedHashMap. The Set
- * is backed by the LinkedHashMap, so changes to the LinkedHashMap are
- * reflected in the Set, and vice-versa. The Set supports element removal,
- * which removes the corresponding mapping from the LinkedHashMap, via the
- * Iterator.remove, Set.remove, removeAll retainAll, and clear operations.
- * It does not support the add or addAll operations.
- */
- public Set keySet() {
- if (keySet == null) {
- keySet = new AbstractSet() {
- public Iterator iterator() {
- return new HashIterator(KEYS);
- }
- public int size() {
- return count;
- }
- public boolean contains(Object o) {
- return containsKey(o);
- }
- public boolean remove(Object o) {
- return LinkedHashMap.this.remove(o) != null;
- }
- public void clear() {
- LinkedHashMap.this.clear();
- }
- };
- }
- return keySet;
- }
-
- /**
- * Returns a Collection view of the values contained in this LinkedHashMap.
- * The Collection is backed by the LinkedHashMap, so changes to the
- * LinkedHashMap are reflected in the Collection, and vice-versa. The
- * Collection supports element removal, which removes the corresponding
- * mapping from the LinkedHashMap, via the Iterator.remove,
- * Collection.remove, removeAll, retainAll and clear operations. It does
- * not support the add or addAll operations.
- */
- public Collection values() {
- if (values==null) {
- values = new AbstractCollection() {
- public Iterator iterator() {
- return new HashIterator(VALUES);
- }
- public int size() {
- return count;
- }
- public boolean contains(Object o) {
- return containsValue(o);
- }
- public void clear() {
- LinkedHashMap.this.clear();
- }
- };
- }
- return values;
- }
-
- /**
- * Returns a Collection view of the mappings contained in this
- * LinkedHashMap. Each element in the returned collection is a Map.Entry.
- * The Collection is backed by the LinkedHashMap, so changes to the
- * LinkedHashMap are reflected in the Collection, and vice-versa. The
- * Collection supports element removal, which removes the corresponding
- * mapping from the LinkedHashMap, via the Iterator.remove,
- * Collection.remove, removeAll, retainAll and clear operations. It does
- * not support the add or addAll operations.
- *
- * @see java.util.Map.Entry
- */
- public Set entrySet() {
- if (entries==null) {
- entries = new AbstractSet() {
- public Iterator iterator() {
- return new HashIterator(ENTRIES);
- }
-
- public boolean contains(Object o) {
- if (!(o instanceof Map.Entry))
- return false;
- Map.Entry entry = (Map.Entry)o;
- Object key = entry.getKey();
- Entry tab[] = table;
- int hash = (key==null ? 0 : key.hashCode());
- int index = (hash & 0x7FFFFFFF) % tab.length;
-
- for (Entry e = tab[index]; e != null; e = e.next)
- if (e.hash==hash && e.equals(entry))
- return true;
- return false;
- }
-
- public boolean remove(Object o) {
- if (!(o instanceof Map.Entry))
- return false;
- Map.Entry entry = (Map.Entry)o;
- Object key = entry.getKey();
- Entry tab[] = table;
- int hash = (key==null ? 0 : key.hashCode());
- int index = (hash & 0x7FFFFFFF) % tab.length;
-
- for (Entry e = tab[index], prev = null; e != null;
- prev = e, e = e.next) {
- if (e.hash==hash && e.equals(entry)) {
- modCount++;
- if (prev != null)
- prev.next = e.next;
- else
- tab[index] = e.next;
-
- count--;
- e.value = null;
- listRemove(e);
- return true;
- }
- }
- return false;
- }
-
- public int size() {
- return count;
- }
-
- public void clear() {
- LinkedHashMap.this.clear();
- }
- };
- }
-
- return entries;
- }
-
- /**
- * Compares the specified Object with this Map for equality.
- * Returns true if the given object is also a LinkedHashMap and the two
- * Maps represent the same mappings in the same order. More formally,
- * two Maps t1
and t2
represent the same mappings
- * if t1.keySet().equals(t2.keySet())
and for every
- * key k
in t1.keySet()
,
- * (t1.get(k)==null ? t2.get(k)==null : t1.get(k).equals(t2.get(k)))
- *
.
- *
- * This implementation first checks if the specified Object is this Map;
- * if so it returns true. Then, it checks if the specified Object is
- * a Map whose size is identical to the size of this Set; if not, it
- * it returns false. If so, it iterates over this Map and the specified
- * Map's entrySet() Collection, and checks that the specified Map contains
- * each mapping that this Map contains at the same position. If the
- * specified Map fails to contain such a mapping in the right order, false
- * is returned. If the iteration completes, true is returned.
- *
- * @param o Object to be compared for equality with this Map.
- * @return true if the specified Object is equal to this Map.
- *
- */
- public boolean equals(Object o) {
- if (o == this)
- return true;
-
- if (!(o instanceof LinkedHashMap))
- return false;
- LinkedHashMap t = (LinkedHashMap) o;
- if (t.size() != size())
- return false;
-
- Iterator i1 = entrySet().iterator();
- Iterator i2 = t.entrySet().iterator();
-
- while (i1.hasNext()) {
- Entry e1 = (Entry) i1.next();
- Entry e2 = (Entry) i2.next();
-
- Object key1 = e1.getKey();
- Object value1 = e1.getValue();
- Object key2 = e2.getKey();
- Object value2 = e2.getValue();
-
- if ((key1 == null ? key2 == null : key1.equals(key2)) &&
- (value1 == null ? value2 == null : value1.equals(value2))) {
- continue;
- } else {
- return false;
- }
- }
- return true;
- }
-
- /**
- * LinkedHashMap collision list entry.
- */
- private static class Entry implements Map.Entry {
- int hash;
- Object key;
- Object value;
- Entry next;
-
- // These fields comprise the doubly linked list that is used for
- // iteration.
- Entry before, after;
-
- Entry(int hash, Object key, Object value, Entry next) {
- this.hash = hash;
- this.key = key;
- this.value = value;
- this.next = next;
- }
-
- // Map.Entry Ops
-
- public Object getKey() {
- return key;
- }
-
- public Object getValue() {
- return value;
- }
-
- public Object setValue(Object value) {
- Object oldValue = this.value;
- this.value = value;
- return oldValue;
- }
-
- public boolean equals(Object o) {
- if (!(o instanceof Map.Entry))
- return false;
- Map.Entry e = (Map.Entry)o;
-
- return (key==null ? e.getKey()==null : key.equals(e.getKey())) &&
- (value==null ? e.getValue()==null : value.equals(e.getValue()));
- }
-
- public int hashCode() {
- return hash ^ (value==null ? 0 : value.hashCode());
- }
-
- public String toString() {
- return key+"="+value;
- }
- }
-
- // Types of Iterators
- private static final int KEYS = 0;
- private static final int VALUES = 1;
- private static final int ENTRIES = 2;
-
- private class HashIterator implements Iterator {
- private Entry[] table = LinkedHashMap.this.table;
- private Entry entry = null;
- private Entry lastReturned = null;
- private int type;
-
- /**
- * The modCount value that the iterator believes that the backing
- * List should have. If this expectation is violated, the iterator
- * has detected concurrent modification.
- */
- private int expectedModCount = modCount;
-
- HashIterator(int type) {
- this.type = type;
- this.entry = LinkedHashMap.this.header.after;
- }
-
- public boolean hasNext() {
- return entry != header;
- }
-
- public Object next() {
- if (modCount != expectedModCount)
- throw new ConcurrentModificationException();
- if (entry == LinkedHashMap.this.header)
- throw new NoSuchElementException();
-
- Entry e = lastReturned = entry;
- entry = e.after;
- return type == KEYS ? e.key : (type == VALUES ? e.value : e);
- }
-
- public void remove() {
- if (lastReturned == null)
- throw new IllegalStateException();
- if (modCount != expectedModCount)
- throw new ConcurrentModificationException();
-
- Entry[] tab = LinkedHashMap.this.table;
- int index = (lastReturned.hash & 0x7FFFFFFF) % tab.length;
-
- for (Entry e = tab[index], prev = null; e != null;
- prev = e, e = e.next) {
- if (e == lastReturned) {
- modCount++;
- expectedModCount++;
- if (prev == null)
- tab[index] = e.next;
- else
- prev.next = e.next;
- count--;
- listRemove(e);
- lastReturned = null;
- return;
- }
- }
- throw new ConcurrentModificationException();
- }
- }
-
- /**
- * Save the state of the LinkedHashMap to a stream (i.e., serialize it).
- * The objects will be written out in the order they are linked
- * in the list.
- */
- private void writeObject(java.io.ObjectOutputStream s)
- throws IOException
- {
- // Write out the threshold, loadfactor, and any hidden stuff
- s.defaultWriteObject();
-
- // Write out number of buckets
- s.writeInt(table.length);
-
- // Write out size (number of Mappings)
- s.writeInt(count);
-
- // Write out keys and values (alternating)
- for (Entry e = header.after; e != header; e = e.after) {
- s.writeObject(e.key);
- s.writeObject(e.value);
- }
- }
-
- /**
- * Reconstitute the LinkedHashMap from a stream (i.e., deserialize it).
- */
- private void readObject(java.io.ObjectInputStream s)
- throws IOException, ClassNotFoundException
- {
- // Read in the threshold, loadfactor, and any hidden stuff
- s.defaultReadObject();
-
- // Read in number of buckets and allocate the bucket array;
- int numBuckets = s.readInt();
- table = new Entry[numBuckets];
- header = new Entry(-1, null, null, null);
- header.before = header;
- header.after = header;
-
- // Read in size (number of Mappings)
- int size = s.readInt();
-
- // Read the keys and values, and put the mappings in the LinkedHashMap
- for (int i=0; i signatures = parser.argumentSignatures();
if (signatures.size() != argSize) {
throw new IllegalArgumentException("Invalid argument count: expected " +
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/MirrorImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -83,8 +83,8 @@
* Throw NullPointerException on null mirrors.
* Throw VMMismatchException on wrong VM.
*/
- void validateMirrors(Collection mirrors) {
- Iterator iter = mirrors.iterator();
+ void validateMirrors(Collection extends Mirror> mirrors) {
+ Iterator extends Mirror> iter = mirrors.iterator();
while (iter.hasNext()) {
MirrorImpl mirror = (MirrorImpl)iter.next();
if (!vm.equals(mirror.vm)) {
@@ -96,8 +96,8 @@
* Allow null mirrors.
* Throw VMMismatchException on wrong VM.
*/
- void validateMirrorsOrNulls(Collection mirrors) {
- Iterator iter = mirrors.iterator();
+ void validateMirrorsOrNulls(Collection extends Mirror> mirrors) {
+ Iterator extends Mirror> iter = mirrors.iterator();
while (iter.hasNext()) {
MirrorImpl mirror = (MirrorImpl)iter.next();
if ((mirror != null) && !vm.equals(mirror.vm)) {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -110,7 +110,7 @@
public boolean vmNotSuspended(VMAction action) {
// make sure that cache and listener management are synchronized
synchronized (vm.state()) {
- if (cache != null && (vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if (cache != null && (vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("Clearing temporary cache for " + description());
}
disableCache();
@@ -163,8 +163,8 @@
public Value getValue(Field sig) {
List list = new ArrayList(1);
list.add(sig);
- Map map = getValues(list);
- return(Value)map.get(sig);
+ Map map = getValues(list);
+ return map.get(sig);
}
public Map getValues(List extends Field> theFields) {
@@ -487,7 +487,7 @@
info = JDWP.ObjectReference.MonitorInfo.process(vm, this);
if (local != null) {
local.monitorInfo = info;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("ObjectReference " + uniqueID() +
" temporarily caching monitor info");
}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java Tue Dec 20 15:27:55 2011 -0800
@@ -127,7 +127,7 @@
} else {
if (lib.equals("dt_shmem")) {
try {
- Class c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
+ Class> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
ts = (TransportService)c.newInstance();
} catch (Exception x) { }
}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/RawCommandLineLauncher.java Tue Dec 20 15:27:55 2011 -0800
@@ -53,7 +53,7 @@
super();
try {
- Class c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
+ Class> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
transportService = (TransportService)c.newInstance();
transport = new Transport() {
public String name() {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -99,7 +99,7 @@
// Fetch all methods for the class, check performance impact
// Needs no synchronization now, since methods() returns
// unmodifiable local data
- Iterator it = methods().iterator();
+ Iterator it = methods().iterator();
while (it.hasNext()) {
MethodImpl method = (MethodImpl)it.next();
if (method.ref() == ref) {
@@ -113,7 +113,7 @@
// Fetch all fields for the class, check performance impact
// Needs no synchronization now, since fields() returns
// unmodifiable local data
- Iterator it = fields().iterator();
+ Iteratorit = fields().iterator();
while (it.hasNext()) {
FieldImpl field = (FieldImpl)it.next();
if (field.ref() == ref) {
@@ -385,7 +385,7 @@
/* Add inherited, visible fields */
List extends ReferenceType> types = inheritedTypes();
- Iterator iter = types.iterator();
+ Iterator extends ReferenceType> iter = types.iterator();
while (iter.hasNext()) {
/*
* TO DO: Be defensive and check for cyclic interface inheritance
@@ -419,7 +419,7 @@
/* Add inherited fields */
List extends ReferenceType> types = inheritedTypes();
- Iterator iter = types.iterator();
+ Iterator extends ReferenceType> iter = types.iterator();
while (iter.hasNext()) {
ReferenceTypeImpl type = (ReferenceTypeImpl)iter.next();
type.addAllFields(fieldList, typeSet);
@@ -434,13 +434,10 @@
}
public Field fieldByName(String fieldName) {
- java.util.List searchList;
- Field f;
-
- searchList = visibleFields();
+ List searchList = visibleFields();
for (int i=0; i nestedTypes() {
- List all = vm.allClasses();
+ List all = vm.allClasses();
List nested = new ArrayList();
String outername = name();
int outerlen = outername.length();
- Iterator iter = all.iterator();
+ Iterator iter = all.iterator();
while (iter.hasNext()) {
- ReferenceType refType = (ReferenceType)iter.next();
+ ReferenceType refType = iter.next();
String name = refType.name();
int len = name.length();
/* The separator is historically '$' but could also be '#' */
@@ -598,8 +595,8 @@
public Value getValue(Field sig) {
List list = new ArrayList(1);
list.add(sig);
- Map map = getValues(list);
- return(Value)map.get(sig);
+ Map map = getValues(list);
+ return map.get(sig);
}
@@ -847,7 +844,7 @@
SDE.Stratum stratum = stratum(stratumID);
List list = new ArrayList(); // location list
- for (Iterator iter = methods().iterator(); iter.hasNext(); ) {
+ for (Iterator iter = methods().iterator(); iter.hasNext(); ) {
MethodImpl method = (MethodImpl)iter.next();
try {
list.addAll(
@@ -887,7 +884,7 @@
List list = new ArrayList();
- Iterator iter = methods.iterator();
+ Iterator iter = methods.iterator();
while(iter.hasNext()) {
MethodImpl method = (MethodImpl)iter.next();
// eliminate native and abstract to eliminate
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ShortValueImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -79,7 +79,7 @@
}
public short shortValue() {
- return(short)value;
+ return value;
}
public int intValue() {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java Tue Dec 20 15:27:55 2011 -0800
@@ -64,7 +64,7 @@
* transport or the socket transport
*/
try {
- Class c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
+ Class> c = Class.forName("com.sun.tools.jdi.SharedMemoryTransportService");
transportService = (TransportService)c.newInstance();
transport = new Transport() {
public String name() {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java Tue Dec 20 15:27:55 2011 -0800
@@ -178,7 +178,7 @@
// Closing a queue causes a VMDisconnectEvent to
// be put onto the queue.
synchronized(eventQueues) {
- Iterator iter = eventQueues.iterator();
+ Iterator iter = eventQueues.iterator();
while (iter.hasNext()) {
((EventQueueImpl)iter.next()).close();
}
@@ -187,9 +187,9 @@
// indirectly throw VMDisconnectedException to
// command requesters.
synchronized(waitingQueue) {
- Iterator iter = waitingQueue.values().iterator();
+ Iterator iter = waitingQueue.values().iterator();
while (iter.hasNext()) {
- Packet packet = (Packet)iter.next();
+ Packet packet = iter.next();
synchronized(packet) {
packet.notify();
}
@@ -252,7 +252,7 @@
void notifyDequeueEventSet() {
int maxQueueSize = 0;
synchronized(eventQueues) {
- Iterator iter = eventQueues.iterator();
+ Iterator iter = eventQueues.iterator();
while (iter.hasNext()) {
EventQueueImpl queue = (EventQueueImpl)iter.next();
maxQueueSize = Math.max(maxQueueSize, queue.size());
@@ -265,7 +265,7 @@
int maxQueueSize = 0;
synchronized(eventQueues) {
- Iterator iter = eventQueues.iterator();
+ Iterator iter = eventQueues.iterator();
while (iter.hasNext()) {
EventQueueImpl queue = (EventQueueImpl)iter.next();
queue.enqueue(eventSet);
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadAction.java Tue Dec 20 15:27:55 2011 -0800
@@ -33,6 +33,7 @@
* with JDI events.
*/
class ThreadAction extends EventObject {
+ private static final long serialVersionUID = 5690763191100515283L;
// Event ids
/*static final int THREAD_SUSPENDED = 1;*/
static final int THREAD_RESUMABLE = 2;
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadGroupReferenceImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -118,7 +118,7 @@
.process(vm, this);
if (local != null) {
local.kids = kids;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching children ");
}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -240,7 +240,7 @@
public void stop(ObjectReference throwable) throws InvalidTypeException {
validateMirror(throwable);
// Verify that the given object is a Throwable instance
- List list = vm.classesByName("java.lang.Throwable");
+ List list = vm.classesByName("java.lang.Throwable");
ClassTypeImpl throwableClass = (ClassTypeImpl)list.get(0);
if ((throwable == null) ||
!throwableClass.isAssignableFrom(throwable)) {
@@ -296,10 +296,10 @@
try {
StackFrame frame = frame(0);
Location location = frame.location();
- List requests = vm.eventRequestManager().breakpointRequests();
- Iterator iter = requests.iterator();
+ List requests = vm.eventRequestManager().breakpointRequests();
+ Iterator iter = requests.iterator();
while (iter.hasNext()) {
- BreakpointRequest request = (BreakpointRequest)iter.next();
+ BreakpointRequest request = iter.next();
if (location.equals(request.location())) {
return true;
}
@@ -352,8 +352,8 @@
}
public StackFrame frame(int index) throws IncompatibleThreadStateException {
- List list = privateFrames(index, 1);
- return (StackFrame)list.get(0);
+ List list = privateFrames(index, 1);
+ return list.get(0);
}
/**
@@ -447,7 +447,7 @@
snapshot.ownedMonitors = Arrays.asList(
(ObjectReference[])JDWP.ThreadReference.OwnedMonitors.
process(vm, this).owned);
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching owned monitors"+
" (count = " + snapshot.ownedMonitors.size() + ")");
@@ -475,7 +475,7 @@
process(vm, this).monitor;
snapshot.triedCurrentContended = true;
if ((snapshot.contendedMonitor != null) &&
- ((vm.traceFlags & vm.TRACE_OBJREFS) != 0)) {
+ ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0)) {
vm.printTrace(description() +
" temporarily caching contended monitor"+
" (id = " + snapshot.contendedMonitor.uniqueID() + ")");
@@ -509,7 +509,7 @@
snapshot.ownedMonitorsInfo.add(mon);
}
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(description() +
" temporarily caching owned monitors"+
" (count = " + snapshot.ownedMonitorsInfo.size() + ")");
@@ -601,9 +601,9 @@
void removeListener(ThreadListener listener) {
synchronized (vm.state()) {
- Iterator iter = listeners.iterator();
+ Iterator> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
+ WeakReference ref = iter.next();
if (listener.equals(ref.get())) {
iter.remove();
break;
@@ -619,10 +619,10 @@
*/
private void processThreadAction(ThreadAction action) {
synchronized (vm.state()) {
- Iterator iter = listeners.iterator();
+ Iterator> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
- ThreadListener listener = (ThreadListener)ref.get();
+ WeakReference ref = iter.next();
+ ThreadListener listener = ref.get();
if (listener != null) {
switch (action.id()) {
case ThreadAction.THREAD_RESUMABLE:
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/VMAction.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/VMAction.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/VMAction.java Tue Dec 20 15:27:55 2011 -0800
@@ -33,6 +33,8 @@
* with JDI events.
*/
class VMAction extends EventObject {
+ private static final long serialVersionUID = -1701944679310296090L;
+
// Event ids
static final int VM_SUSPENDED = 1;
static final int VM_NOT_SUSPENDED = 2;
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/VMState.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/VMState.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/VMState.java Tue Dec 20 15:27:55 2011 -0800
@@ -34,7 +34,7 @@
private final VirtualMachineImpl vm;
// Listeners
- private final List listeners = new ArrayList(); // synchronized (this)
+ private final List> listeners = new ArrayList>(); // synchronized (this)
private boolean notifyingListeners = false; // synchronized (this)
/*
@@ -129,7 +129,7 @@
*/
synchronized void thaw(ThreadReference resumingThread) {
if (cache != null) {
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("Clearing VM suspended cache");
}
disableCache();
@@ -142,10 +142,10 @@
// Prevent recursion
notifyingListeners = true;
- Iterator iter = listeners.iterator();
+ Iterator> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
- VMListener listener = (VMListener)ref.get();
+ WeakReference ref = iter.next();
+ VMListener listener = ref.get();
if (listener != null) {
boolean keep = true;
switch (action.id()) {
@@ -178,9 +178,9 @@
}
synchronized void removeListener(VMListener listener) {
- Iterator iter = listeners.iterator();
+ Iterator> iter = listeners.iterator();
while (iter.hasNext()) {
- WeakReference ref = (WeakReference)iter.next();
+ WeakReference ref = iter.next();
if (listener.equals(ref.get())) {
iter.remove();
break;
@@ -202,7 +202,7 @@
process(vm).threads);
if (local != null) {
local.threads = threads;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace("Caching all threads (count = " +
threads.size() + ") while VM suspended");
}
@@ -229,7 +229,7 @@
process(vm).groups);
if (local != null) {
local.groups = groups;
- if ((vm.traceFlags & vm.TRACE_OBJREFS) != 0) {
+ if ((vm.traceFlags & VirtualMachine.TRACE_OBJREFS) != 0) {
vm.printTrace(
"Caching top level thread groups (count = " +
groups.size() + ") while VM suspended");
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
--- a/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Dec 20 15:27:55 2011 -0800
@@ -300,9 +300,9 @@
if (!canRedefineClasses()) {
throw new UnsupportedOperationException();
}
- Iterator it = classToBytes.entrySet().iterator();
+ Iterator> it = classToBytes.entrySet().iterator();
for (int i = 0; it.hasNext(); i++) {
- Map.Entry entry = (Map.Entry)it.next();
+ Map.Entry,?> entry = (Map.Entry)it.next();
ReferenceTypeImpl refType = (ReferenceTypeImpl)entry.getKey();
validateMirror(refType);
defs[i] = new JDWP.VirtualMachine.RedefineClasses
@@ -801,7 +801,7 @@
* we can't differentiate here, we first remove all
* matching classes from our cache...
*/
- Iterator iter = typesBySignature.iterator();
+ Iterator iter = typesBySignature.iterator();
int matches = 0;
while (iter.hasNext()) {
ReferenceTypeImpl type = (ReferenceTypeImpl)iter.next();
@@ -833,7 +833,7 @@
if (typesByID == null) {
return new ArrayList(0);
}
- Iterator iter = typesBySignature.iterator();
+ Iterator iter = typesBySignature.iterator();
List list = new ArrayList();
while (iter.hasNext()) {
ReferenceTypeImpl type = (ReferenceTypeImpl)iter.next();
@@ -1041,10 +1041,10 @@
}
Type findBootType(String signature) throws ClassNotLoadedException {
- List types = allClasses();
- Iterator iter = types.iterator();
+ List types = allClasses();
+ Iterator iter = types.iterator();
while (iter.hasNext()) {
- ReferenceType type = (ReferenceType)iter.next();
+ ReferenceType type = iter.next();
if ((type.classLoader() == null) &&
(type.signature().equals(signature))) {
return type;
@@ -1227,7 +1227,7 @@
}
private void processQueue() {
- Reference ref;
+ Reference> ref;
//if ((traceFlags & TRACE_OBJREFS) != 0) {
// printTrace("Checking for softly reachable objects");
//}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Boolean.java
--- a/jdk/src/share/classes/java/lang/Boolean.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Boolean.java Tue Dec 20 15:27:55 2011 -0800
@@ -60,7 +60,8 @@
*
* @since JDK1.1
*/
- public static final Class TYPE = Class.getPrimitiveClass("boolean");
+ @SuppressWarnings("unchecked")
+ public static final Class TYPE = (Class) Class.getPrimitiveClass("boolean");
/**
* The value of the Boolean.
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Byte.java
--- a/jdk/src/share/classes/java/lang/Byte.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Byte.java Tue Dec 20 15:27:55 2011 -0800
@@ -59,6 +59,7 @@
* The {@code Class} instance representing the primitive type
* {@code byte}.
*/
+ @SuppressWarnings("unchecked")
public static final Class TYPE = (Class) Class.getPrimitiveClass("byte");
/**
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Character.java
--- a/jdk/src/share/classes/java/lang/Character.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Character.java Tue Dec 20 15:27:55 2011 -0800
@@ -172,7 +172,7 @@
* @since 1.1
*/
@SuppressWarnings("unchecked")
- public static final Class TYPE = Class.getPrimitiveClass("char");
+ public static final Class TYPE = (Class) Class.getPrimitiveClass("char");
/*
* Normative general types
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/CharacterName.java
--- a/jdk/src/share/classes/java/lang/CharacterName.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/CharacterName.java Tue Dec 20 15:27:55 2011 -0800
@@ -101,6 +101,8 @@
if (lookup[cp>>8] == null ||
(off = lookup[cp>>8][cp&0xff]) == 0)
return null;
- return new String(strPool, 0, off >>> 8, off & 0xff); // ASCII
+ @SuppressWarnings("deprecation")
+ String result = new String(strPool, 0, off >>> 8, off & 0xff); // ASCII
+ return result;
}
}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Class.java
--- a/jdk/src/share/classes/java/lang/Class.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Class.java Tue Dec 20 15:27:55 2011 -0800
@@ -631,6 +631,7 @@
* The Java™ Virtual Machine Specification
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public TypeVariable>[] getTypeParameters() {
if (getGenericSignature() != null)
return (TypeVariable>[])getGenericInfo().getTypeParameters();
@@ -1303,7 +1304,7 @@
return java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction[]>() {
- public Class[] run() {
+ public Class>[] run() {
List> list = new ArrayList<>();
Class> currentClass = Class.this;
while (currentClass != null) {
@@ -1315,7 +1316,7 @@
}
currentClass = currentClass.getSuperclass();
}
- return list.toArray(new Class[0]);
+ return list.toArray(new Class>[0]);
}
});
}
@@ -2150,7 +2151,7 @@
* Return the Virtual Machine's Class object for the named
* primitive type.
*/
- static native Class getPrimitiveClass(String name);
+ static native Class> getPrimitiveClass(String name);
/*
@@ -2395,7 +2396,9 @@
}
// No cached value available; request value from VM
if (isInterface()) {
- res = new Constructor[0];
+ @SuppressWarnings("unchecked")
+ Constructor[] temporaryRes = (Constructor[]) new Constructor>[0];
+ res = temporaryRes;
} else {
res = getDeclaredConstructors0(publicOnly);
}
@@ -2951,7 +2954,9 @@
return null;
}
});
- enumConstants = (T[])values.invoke(null);
+ @SuppressWarnings("unchecked")
+ T[] temporaryConstants = (T[])values.invoke(null);
+ enumConstants = temporaryConstants;
}
// These can happen when users concoct enum-like classes
// that don't comply with the enum spec.
@@ -2996,6 +3001,7 @@
*
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public T cast(Object obj) {
if (obj != null && !isInstance(obj))
throw new ClassCastException(cannotCastMsg(obj));
@@ -3026,6 +3032,7 @@
* the class itself).
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public Class extends U> asSubclass(Class clazz) {
if (clazz.isAssignableFrom(this))
return (Class extends U>) this;
@@ -3037,6 +3044,7 @@
* @throws NullPointerException {@inheritDoc}
* @since 1.5
*/
+ @SuppressWarnings("unchecked")
public A getAnnotation(Class annotationClass) {
if (annotationClass == null)
throw new NullPointerException();
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/ClassLoader.java
--- a/jdk/src/share/classes/java/lang/ClassLoader.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/ClassLoader.java Tue Dec 20 15:27:55 2011 -0800
@@ -1167,7 +1167,8 @@
* @since 1.2
*/
public Enumeration getResources(String name) throws IOException {
- Enumeration[] tmp = new Enumeration[2];
+ @SuppressWarnings("unchecked")
+ Enumeration[] tmp = (Enumeration[]) new Enumeration>[2];
if (parent != null) {
tmp[0] = parent.getResources(name);
} else {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
--- a/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java Tue Dec 20 15:27:55 2011 -0800
@@ -92,15 +92,15 @@
};
// A hash table that contains the above entries
- static Hashtable entryTable = new Hashtable();
+ static Hashtable> entryTable = new Hashtable<>();
static {
// create hashtable from the entry
for (int i = 0; i < entry.length; i ++) {
Entry cur = entry[i];
Integer cp = new Integer(cur.getCodePoint());
- HashSet set = (HashSet)entryTable.get(cp);
+ HashSet set = entryTable.get(cp);
if (set == null) {
- set = new HashSet();
+ set = new HashSet();
}
set.add(cur);
entryTable.put(cp, set);
@@ -151,13 +151,13 @@
}
private static char[] lookUpTable(String src, int index, Locale locale, boolean bLowerCasing) {
- HashSet set = (HashSet)entryTable.get(new Integer(src.codePointAt(index)));
+ HashSet set = entryTable.get(new Integer(src.codePointAt(index)));
if (set != null) {
- Iterator iter = set.iterator();
+ Iterator iter = set.iterator();
String currentLang = locale.getLanguage();
while (iter.hasNext()) {
- Entry entry = (Entry)iter.next();
+ Entry entry = iter.next();
String conditionLang= entry.getLanguage();
if (((conditionLang == null) || (conditionLang.equals(currentLang))) &&
isConditionMet(src, index, locale, entry.getCondition())) {
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Double.java
--- a/jdk/src/share/classes/java/lang/Double.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Double.java Tue Dec 20 15:27:55 2011 -0800
@@ -128,6 +128,7 @@
*
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public static final Class TYPE = (Class) Class.getPrimitiveClass("double");
/**
@@ -715,7 +716,7 @@
* @return the {@code double} value represented by this object
*/
public double doubleValue() {
- return (double)value;
+ return value;
}
/**
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java
--- a/jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/EnumConstantNotPresentException.java Tue Dec 20 15:27:55 2011 -0800
@@ -36,6 +36,7 @@
* @see java.lang.reflect.AnnotatedElement
* @since 1.5
*/
+@SuppressWarnings("rawtypes") /* rawtypes are part of the public api */
public class EnumConstantNotPresentException extends RuntimeException {
private static final long serialVersionUID = -6046998521960521108L;
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Float.java
--- a/jdk/src/share/classes/java/lang/Float.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Float.java Tue Dec 20 15:27:55 2011 -0800
@@ -126,7 +126,8 @@
*
* @since JDK1.1
*/
- public static final Class TYPE = Class.getPrimitiveClass("float");
+ @SuppressWarnings("unchecked")
+ public static final Class TYPE = (Class) Class.getPrimitiveClass("float");
/**
* Returns a string representation of the {@code float}
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Integer.java
--- a/jdk/src/share/classes/java/lang/Integer.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Integer.java Tue Dec 20 15:27:55 2011 -0800
@@ -68,6 +68,7 @@
*
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public static final Class TYPE = (Class) Class.getPrimitiveClass("int");
/**
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Long.java
--- a/jdk/src/share/classes/java/lang/Long.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Long.java Tue Dec 20 15:27:55 2011 -0800
@@ -66,6 +66,7 @@
*
* @since JDK1.1
*/
+ @SuppressWarnings("unchecked")
public static final Class TYPE = (Class) Class.getPrimitiveClass("long");
/**
@@ -734,7 +735,7 @@
* {@code long} value.
*/
public long longValue() {
- return (long)value;
+ return value;
}
/**
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/Short.java
--- a/jdk/src/share/classes/java/lang/Short.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/Short.java Tue Dec 20 15:27:55 2011 -0800
@@ -58,6 +58,7 @@
* The {@code Class} instance representing the primitive type
* {@code short}.
*/
+ @SuppressWarnings("unchecked")
public static final Class TYPE = (Class) Class.getPrimitiveClass("short");
/**
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/System.java
--- a/jdk/src/share/classes/java/lang/System.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/System.java Tue Dec 20 15:27:55 2011 -0800
@@ -1032,7 +1032,7 @@
*/
@Deprecated
public static void runFinalizersOnExit(boolean value) {
- Runtime.getRuntime().runFinalizersOnExit(value);
+ Runtime.runFinalizersOnExit(value);
}
/**
diff -r 02dcb305d387 -r 3192d89032b0 jdk/src/share/classes/java/lang/ThreadLocal.java
--- a/jdk/src/share/classes/java/lang/ThreadLocal.java Tue Dec 20 15:26:23 2011 -0800
+++ b/jdk/src/share/classes/java/lang/ThreadLocal.java Tue Dec 20 15:27:55 2011 -0800
@@ -144,8 +144,11 @@
ThreadLocalMap map = getMap(t);
if (map != null) {
ThreadLocalMap.Entry e = map.getEntry(this);
- if (e != null)
- return (T)e.value;
+ if (e != null) {
+ @SuppressWarnings("unchecked")
+ T result = (T)e.value;
+ return result;
+ }
}
return setInitialValue();
}
@@ -268,11 +271,11 @@
* entry can be expunged from table. Such entries are referred to
* as "stale entries" in the code that follows.
*/
- static class Entry extends WeakReference {
+ static class Entry extends WeakReference> {
/** The value associated with this ThreadLocal. */
Object value;
- Entry(ThreadLocal k, Object v) {
+ Entry(ThreadLocal> k, Object v) {
super(k);
value = v;
}
@@ -325,7 +328,7 @@
* ThreadLocalMaps are constructed lazily, so we only create
* one when we have at least one entry to put in it.
*/
- ThreadLocalMap(ThreadLocal firstKey, Object firstValue) {
+ ThreadLocalMap(ThreadLocal> firstKey, Object firstValue) {
table = new Entry[INITIAL_CAPACITY];
int i = firstKey.threadLocalHashCode & (INITIAL_CAPACITY - 1);
table[i] = new Entry(firstKey, firstValue);
@@ -348,7 +351,8 @@
for (int j = 0; j < len; j++) {
Entry e = parentTable[j];
if (e != null) {
- ThreadLocal key = e.get();
+ @SuppressWarnings("unchecked")
+ ThreadLocal