package java.util; import checkers.igj.quals.*; @I public interface Map<K, V> { @I public interface Entry<K, V> { public abstract K getKey() @ReadOnly; public abstract V getValue() @ReadOnly; public abstract V setValue(V a1) @AssignsFields; public abstract boolean equals(@ReadOnly Object a1) @ReadOnly; public abstract int hashCode() @ReadOnly; } public abstract int size() @ReadOnly; public abstract boolean isEmpty() @ReadOnly; public abstract boolean containsKey(@ReadOnly Object a1) @ReadOnly; public abstract boolean containsValue(@ReadOnly Object a1) @ReadOnly; public abstract V get(@ReadOnly Object a1) @ReadOnly ; public abstract V put(K a1, V a2) @Mutable; public abstract V remove(@ReadOnly Object a1) @Mutable; public abstract void putAll(@ReadOnly Map<? extends K, ? extends V> a1) @Mutable; public abstract void clear() @Mutable; public abstract @I Set<K> keySet() @ReadOnly; public abstract @I Collection<V> values() @ReadOnly; public abstract @I Set<@I Map.Entry<K, V>> entrySet() @ReadOnly; public abstract boolean equals(@ReadOnly Object a1) @ReadOnly ; public abstract int hashCode() @ReadOnly ; }