Package proguard.analysis.cpa.defaults
Class LimitedHashMapAbstractState<KeyT,AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<K,V>
-
- proguard.analysis.cpa.defaults.LimitedHashMap<KeyT,AbstractSpaceT>
-
- proguard.analysis.cpa.defaults.LimitedHashMapAbstractState<KeyT,AbstractSpaceT>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.Map<KeyT,AbstractSpaceT>
,LatticeAbstractState<MapAbstractState<KeyT,AbstractSpaceT>>
,MapAbstractState<KeyT,AbstractSpaceT>
,AbstractState
public class LimitedHashMapAbstractState<KeyT,AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>> extends LimitedHashMap<KeyT,AbstractSpaceT> implements MapAbstractState<KeyT,AbstractSpaceT>
ThisLimitedHashMapAbstractState
represents a limited map toLatticeAbstractState
s with the semilattice operators lifted to the map.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class proguard.analysis.cpa.defaults.LimitedHashMap
removeElement
-
-
Constructor Summary
Constructors Constructor Description LimitedHashMapAbstractState(int initialCapacity, TriFunction<LimitedHashMap<KeyT,AbstractSpaceT>,KeyT,AbstractSpaceT,java.util.Optional<KeyT>> removeElement)
Create an empty limited hash map abstract state with reserved initial capacity.LimitedHashMapAbstractState(java.util.Map<? extends KeyT,? extends AbstractSpaceT> m, TriFunction<LimitedHashMap<KeyT,AbstractSpaceT>,KeyT,AbstractSpaceT,java.util.Optional<KeyT>> removeElement)
Create a hash map abstract state from another map.LimitedHashMapAbstractState(TriFunction<LimitedHashMap<KeyT,AbstractSpaceT>,KeyT,AbstractSpaceT,java.util.Optional<KeyT>> removeElement)
Create an empty limited hash map abstract state.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LimitedHashMapAbstractState<KeyT,AbstractSpaceT>
copy()
Creates a copy of itself.-
Methods inherited from class proguard.analysis.cpa.defaults.LimitedHashMap
compute, computeIfAbsent, merge, put, putAll, putIfAbsent
-
Methods inherited from class java.util.HashMap
clear, clone, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, remove, remove, replace, replace, replaceAll, size, values
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface proguard.analysis.cpa.interfaces.AbstractState
equals, getPrecision, getStateByName, hashCode
-
Methods inherited from interface proguard.analysis.cpa.defaults.LatticeAbstractState
isLess
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
Methods inherited from interface proguard.analysis.cpa.defaults.MapAbstractState
isLessOrEqual, join
-
-
-
-
Constructor Detail
-
LimitedHashMapAbstractState
public LimitedHashMapAbstractState(TriFunction<LimitedHashMap<KeyT,AbstractSpaceT>,KeyT,AbstractSpaceT,java.util.Optional<KeyT>> removeElement)
Create an empty limited hash map abstract state.- Parameters:
removeElement
- determines whether the map limit is reached if it returns an empty value, the map behaves as usual otherwise, the returned key is removed from the map
-
LimitedHashMapAbstractState
public LimitedHashMapAbstractState(int initialCapacity, TriFunction<LimitedHashMap<KeyT,AbstractSpaceT>,KeyT,AbstractSpaceT,java.util.Optional<KeyT>> removeElement)
Create an empty limited hash map abstract state with reserved initial capacity.- Parameters:
initialCapacity
- the initial capacity of the hash tableremoveElement
- determines whether the map limit is reached if it returns an empty value, the map behaves as usual otherwise, the returned key is removed from the map
-
LimitedHashMapAbstractState
public LimitedHashMapAbstractState(java.util.Map<? extends KeyT,? extends AbstractSpaceT> m, TriFunction<LimitedHashMap<KeyT,AbstractSpaceT>,KeyT,AbstractSpaceT,java.util.Optional<KeyT>> removeElement)
Create a hash map abstract state from another map.- Parameters:
m
- map which elements are used for initializationremoveElement
- determines whether the map limit is reached if it returns an empty value, the map behaves as usual otherwise, the returned key is removed from the map
-
-
Method Detail
-
copy
public LimitedHashMapAbstractState<KeyT,AbstractSpaceT> copy()
Description copied from interface:AbstractState
Creates a copy of itself.- Specified by:
copy
in interfaceAbstractState
- Specified by:
copy
in interfaceMapAbstractState<KeyT,AbstractSpaceT extends LatticeAbstractState<AbstractSpaceT>>
-
-