47
47
48
48
import com .oracle .graal .python .builtins .objects .PNone ;
49
49
import com .oracle .graal .python .runtime .sequence .storage .MroSequenceStorage ;
50
+ import com .oracle .truffle .api .CompilerAsserts ;
50
51
import com .oracle .truffle .api .CompilerDirectives .TruffleBoundary ;
51
52
import com .oracle .truffle .api .object .DynamicObject ;
52
53
import com .oracle .truffle .api .object .Layout ;
@@ -175,6 +176,7 @@ public T next() {
175
176
throw new NoSuchElementException ();
176
177
}
177
178
179
+ @ TruffleBoundary
178
180
private boolean consumeUntilNext () {
179
181
while (iterator .hasNext ()) {
180
182
T next = iterator .next ();
@@ -244,8 +246,10 @@ public Iterator<Object> iterator() {
244
246
@ Override
245
247
public int length () {
246
248
if (size == -1 ) {
249
+ CompilerAsserts .neverPartOfCompilation ();
247
250
size = 0 ;
248
- for (Object ignored : getKeysIterable ()) {
251
+ for (@ SuppressWarnings ("unused" )
252
+ Object ignored : getKeysIterable ()) {
249
253
size += 1 ;
250
254
}
251
255
}
@@ -254,6 +258,7 @@ public int length() {
254
258
255
259
@ Override
256
260
public void setItem (Object key , Object value , Equivalence eq ) {
261
+ CompilerAsserts .neverPartOfCompilation ();
257
262
super .setItem (key , value , eq );
258
263
if (value != PNone .NO_VALUE ) {
259
264
size += 1 ;
@@ -262,6 +267,7 @@ public void setItem(Object key, Object value, Equivalence eq) {
262
267
263
268
@ Override
264
269
public boolean remove (Object key , Equivalence eq ) {
270
+ CompilerAsserts .neverPartOfCompilation ();
265
271
if (getStore ().get (key ) != PNone .NO_VALUE ) {
266
272
size -= 1 ;
267
273
}
@@ -276,6 +282,7 @@ public void clear() {
276
282
277
283
@ Override
278
284
public boolean hasKey (Object key , Equivalence eq ) {
285
+ CompilerAsserts .neverPartOfCompilation ();
279
286
return super .hasKey (key , eq ) && getStore ().get (key , PNone .NO_VALUE ) != PNone .NO_VALUE ;
280
287
}
281
288
0 commit comments