diff --git a/approximations/src/main/java/generated/java/lang/ThrowableImpl.java b/approximations/src/main/java/generated/java/lang/ThrowableImpl.java index 58bea77..320f149 100644 --- a/approximations/src/main/java/generated/java/lang/ThrowableImpl.java +++ b/approximations/src/main/java/generated/java/lang/ThrowableImpl.java @@ -29,8 +29,8 @@ public class ThrowableImpl implements Serializable { public final synchronized void addSuppressed(java.lang.Throwable exception) { } - public synchronized java.lang.Throwable fillInStackTrace() { - return Engine.makeSymbolic(java.lang.Throwable.class); + public synchronized ThrowableImpl fillInStackTrace() { + return this; } public StackTraceElement[] getStackTrace() { diff --git a/approximations/src/main/java/runtime/LibSLRuntime.java b/approximations/src/main/java/runtime/LibSLRuntime.java index e91a1bb..52d36df 100644 --- a/approximations/src/main/java/runtime/LibSLRuntime.java +++ b/approximations/src/main/java/runtime/LibSLRuntime.java @@ -1335,6 +1335,8 @@ public HashMapContainer() { public void merge(Map.Container container) { Engine.assume(container instanceof HashMapContainer); HashMapContainer other = (HashMapContainer) container; + Engine.assume(map != null); + Engine.assume(other.map != null); map.merge(other.map); } @@ -1346,37 +1348,44 @@ public Map.Container getCleanInstance() { @Override public Map.Container duplicate() { final HashMapContainer obj = new HashMapContainer<>(); + Engine.assume(map != null); obj.map.merge(this.map); return obj; } @Override public boolean containsKey(K key) { + Engine.assume(map != null); return map.containsKey(key); } @Override public K anyKey() { + Engine.assume(map != null); return map.anyKey(); } @Override public V get(K key) { + Engine.assume(map != null); return map.get(key); } @Override public void set(K key, V value) { + Engine.assume(map != null); map.set(key, value); } @Override public void remove(K key) { + Engine.assume(map != null); map.remove(key); } @Override public int size() { + Engine.assume(map != null); return map.size(); } } @@ -1394,6 +1403,8 @@ public IdentityMapContainer() { public void merge(Map.Container container) { Engine.assume(container instanceof IdentityMapContainer); IdentityMapContainer other = (IdentityMapContainer) container; + Engine.assume(map != null); + Engine.assume(other.map != null); map.merge(other.map); } @@ -1405,37 +1416,44 @@ public Map.Container getCleanInstance() { @Override public Map.Container duplicate() { final IdentityMapContainer obj = new IdentityMapContainer<>(); + Engine.assume(map != null); obj.map.merge(this.map); return obj; } @Override public boolean containsKey(K key) { + Engine.assume(map != null); return map.containsKey(key); } @Override public K anyKey() { + Engine.assume(map != null); return map.anyKey(); } @Override public V get(K key) { + Engine.assume(map != null); return map.get(key); } @Override public void set(K key, V value) { + Engine.assume(map != null); map.set(key, value); } @Override public void remove(K key) { + Engine.assume(map != null); map.remove(key); } @Override public int size() { + Engine.assume(map != null); return map.size(); } }