Skip to content

Commit 29ab69b

Browse files
committed
Remove obsolete method 'PSequence.index'.
1 parent 8fad812 commit 29ab69b

File tree

12 files changed

+40
-91
lines changed

12 files changed

+40
-91
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/array/ArrayBuiltins.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
import com.oracle.graal.python.nodes.function.builtins.PythonTernaryBuiltinNode;
5656
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
5757
import com.oracle.graal.python.runtime.exception.PythonErrorType;
58-
import com.oracle.graal.python.runtime.sequence.PSequence;
5958
import com.oracle.graal.python.runtime.sequence.storage.ByteSequenceStorage;
6059
import com.oracle.graal.python.runtime.sequence.storage.DoubleSequenceStorage;
6160
import com.oracle.graal.python.runtime.sequence.storage.IntSequenceStorage;
@@ -104,8 +103,9 @@ abstract static class RMulNode extends MulNode {
104103
@GenerateNodeFactory
105104
abstract static class ContainsNode extends PythonBinaryBuiltinNode {
106105
@Specialization
107-
boolean contains(PSequence self, Object other) {
108-
return self.index(other) != -1;
106+
boolean contains(PArray self, Object other,
107+
@Cached("create()") SequenceStorageNodes.ContainsNode containsNode) {
108+
return containsNode.execute(self.getSequenceStorage(), other);
109109
}
110110
}
111111

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/array/PArray.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import com.oracle.graal.python.builtins.objects.slice.PSlice;
2929
import com.oracle.graal.python.builtins.objects.type.PythonClass;
30-
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
3130
import com.oracle.graal.python.runtime.sequence.PLenSupplier;
3231
import com.oracle.graal.python.runtime.sequence.PSequence;
3332
import com.oracle.graal.python.runtime.sequence.storage.SequenceStorage;
@@ -60,11 +59,6 @@ public void delItem(int idx) {
6059
throw new UnsupportedOperationException();
6160
}
6261

63-
@Override
64-
public int index(Object value) {
65-
throw new UnsupportedOperationException();
66-
}
67-
6862
@Override
6963
public SequenceStorage getSequenceStorage() {
7064
return store;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/bytes/ByteArrayBuiltins.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
import com.oracle.truffle.api.dsl.NodeFactory;
8989
import com.oracle.truffle.api.dsl.Specialization;
9090
import com.oracle.truffle.api.dsl.TypeSystemReference;
91+
import com.oracle.truffle.api.profiles.BranchProfile;
9192
import com.oracle.truffle.api.profiles.ConditionProfile;
9293

9394
@CoreFunctions(extendClasses = PByteArray.class)
@@ -445,8 +446,9 @@ public PByteArray copy(PByteArray byteArray) {
445446
@GenerateNodeFactory
446447
public abstract static class ByteArrayIndexNode extends PythonBuiltinNode {
447448
@Specialization
448-
public int index(PByteArray byteArray, Object arg) {
449-
return byteArray.index(arg);
449+
public int index(PByteArray byteArray, Object arg,
450+
@Cached("create()") BytesNodes.FindNode findNode) {
451+
return findNode.execute(byteArray, arg, 0, byteArray.len());
450452
}
451453
}
452454

@@ -557,8 +559,15 @@ public int len(PByteArray self) {
557559
@GenerateNodeFactory
558560
abstract static class ContainsNode extends PythonBinaryBuiltinNode {
559561
@Specialization
560-
boolean contains(PSequence self, Object other) {
561-
return self.index(other) != -1;
562+
boolean contains(PSequence self, Object other,
563+
@Cached("create()") BranchProfile errorProfile,
564+
@Cached("create()") SequenceStorageNodes.ContainsNode containsNode) {
565+
566+
if (!containsNode.execute(self.getSequenceStorage(), other)) {
567+
errorProfile.enter();
568+
throw raise(ValueError, "%s is not in bytes literal", other);
569+
}
570+
return true;
562571
}
563572
}
564573

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/bytes/PByteArray.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
package com.oracle.graal.python.builtins.objects.bytes;
2727

2828
import static com.oracle.graal.python.runtime.exception.PythonErrorType.TypeError;
29-
import static com.oracle.graal.python.runtime.exception.PythonErrorType.ValueError;
3029

3130
import java.util.Arrays;
3231

@@ -43,7 +42,6 @@
4342
import com.oracle.graal.python.runtime.sequence.storage.SequenceStorage;
4443
import com.oracle.graal.python.runtime.sequence.storage.SequenceStoreException;
4544
import com.oracle.truffle.api.CompilerAsserts;
46-
import com.oracle.truffle.api.CompilerDirectives;
4745

4846
public final class PByteArray extends PSequence implements PIBytesLike {
4947

@@ -106,18 +104,6 @@ public void delItem(int idx) {
106104
store.delItemInBound(index);
107105
}
108106

109-
@Override
110-
public int index(Object value) {
111-
int index = store.index(value);
112-
113-
if (index != -1) {
114-
return index;
115-
}
116-
117-
CompilerDirectives.transferToInterpreter();
118-
throw PythonLanguage.getCore().raise(ValueError, "%s is not in bytes literal", value);
119-
}
120-
121107
@Override
122108
public SequenceStorage getSequenceStorage() {
123109
return store;

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/bytes/PBytes.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@
2525
*/
2626
package com.oracle.graal.python.builtins.objects.bytes;
2727

28-
import static com.oracle.graal.python.runtime.exception.PythonErrorType.ValueError;
29-
3028
import java.util.Arrays;
3129

32-
import com.oracle.graal.python.PythonLanguage;
3330
import com.oracle.graal.python.builtins.objects.type.PythonClass;
3431
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
3532
import com.oracle.graal.python.runtime.sequence.PImmutableSequence;
@@ -39,7 +36,6 @@
3936
import com.oracle.graal.python.runtime.sequence.storage.NativeSequenceStorage.ElementType;
4037
import com.oracle.graal.python.runtime.sequence.storage.SequenceStorage;
4138
import com.oracle.truffle.api.CompilerAsserts;
42-
import com.oracle.truffle.api.CompilerDirectives;
4339

4440
public final class PBytes extends PImmutableSequence implements PIBytesLike {
4541

@@ -75,18 +71,6 @@ public Object getItemNormalized(int index) {
7571
return store.getItemNormalized(index);
7672
}
7773

78-
@Override
79-
public int index(Object value) {
80-
int index = store.index(value);
81-
82-
if (index != -1) {
83-
return index;
84-
}
85-
86-
CompilerDirectives.transferToInterpreter();
87-
throw PythonLanguage.getCore().raise(ValueError, "%s is not in bytes literal", value);
88-
}
89-
9074
@Override
9175
public String toString() {
9276
// TODO(fa) really required ?

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/common/SequenceStorageNodes.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,6 +1657,26 @@ boolean doEmpty(SequenceStorage left, Object item) {
16571657
return false;
16581658
}
16591659

1660+
@Specialization
1661+
public boolean doByteStorage(ByteSequenceStorage s, int item) {
1662+
return s.indexOfInt(item) != -1;
1663+
}
1664+
1665+
@Specialization
1666+
public boolean doIntStorage(IntSequenceStorage s, int item) {
1667+
return s.indexOfInt(item) != -1;
1668+
}
1669+
1670+
@Specialization
1671+
public boolean doLongStorage(LongSequenceStorage s, long item) {
1672+
return s.indexOfLong(item) != -1;
1673+
}
1674+
1675+
@Specialization
1676+
public boolean doDoubleStorage(DoubleSequenceStorage s, double item) {
1677+
return s.indexOfDouble(item) != -1;
1678+
}
1679+
16601680
@Specialization
16611681
boolean doGeneric(SequenceStorage left, Object item) {
16621682
for (int i = 0; i < left.length(); i++) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/list/ListBuiltins.java

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1546,27 +1546,10 @@ PNotImplemented contains(@SuppressWarnings("unused") Object self, @SuppressWarni
15461546
@Builtin(name = __CONTAINS__, fixedNumOfArguments = 2)
15471547
@GenerateNodeFactory
15481548
abstract static class ContainsNode extends PythonBinaryBuiltinNode {
1549-
@SuppressWarnings("unused")
1550-
@Specialization(guards = "isEmptyStorage(self)")
1551-
public boolean doPListEmpty(PList self, Object arg) {
1552-
return false;
1553-
}
1554-
1555-
@Specialization(guards = "isIntStorage(self)")
1556-
public boolean doPListInt(PList self, int arg) {
1557-
IntSequenceStorage store = (IntSequenceStorage) self.getSequenceStorage();
1558-
return store.indexOfInt(arg) != -1;
1559-
}
1560-
1561-
@Specialization(guards = "isDoubleStorage(self)")
1562-
public boolean doPListDouble(PList self, double other) {
1563-
DoubleSequenceStorage store = (DoubleSequenceStorage) self.getSequenceStorage();
1564-
return store.indexOfDouble(other) != -1;
1565-
}
1566-
15671549
@Specialization
1568-
boolean contains(PSequence self, Object other) {
1569-
return self.index(other) != -1;
1550+
boolean contains(PSequence self, Object other,
1551+
@Cached("create()") SequenceStorageNodes.ContainsNode containsNode) {
1552+
return containsNode.execute(self.getSequenceStorage(), other);
15701553
}
15711554
}
15721555

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/list/PList.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import com.oracle.graal.python.builtins.objects.slice.PSlice;
2929
import com.oracle.graal.python.builtins.objects.type.PythonClass;
30-
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
3130
import com.oracle.graal.python.runtime.sequence.PSequence;
3231
import com.oracle.graal.python.runtime.sequence.SequenceUtil;
3332
import com.oracle.graal.python.runtime.sequence.storage.EmptySequenceStorage;
@@ -183,11 +182,6 @@ public final PList __add__(PList other) throws ArithmeticException {
183182
return new PList(getPythonClass(), newStore);
184183
}
185184

186-
@Override
187-
public final int index(Object value) {
188-
return store.index(value);
189-
}
190-
191185
public final void insert(int index, Object value) {
192186
try {
193187
store.insertItem(index, value);

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/range/PRange.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131

3232
import com.oracle.graal.python.PythonLanguage;
3333
import com.oracle.graal.python.builtins.objects.type.PythonClass;
34-
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
3534
import com.oracle.graal.python.runtime.sequence.PImmutableSequence;
36-
import com.oracle.graal.python.runtime.sequence.SequenceUtil;
3735
import com.oracle.graal.python.runtime.sequence.storage.SequenceStorage;
3836
import com.oracle.truffle.api.CompilerAsserts;
3937
import com.oracle.truffle.api.CompilerDirectives;
@@ -118,11 +116,7 @@ public int len() {
118116

119117
@Override
120118
public SequenceStorage getSequenceStorage() {
121-
throw new UnsupportedOperationException();
122-
}
123-
124-
@Override
125-
public int index(Object value) {
119+
CompilerDirectives.transferToInterpreter();
126120
throw new UnsupportedOperationException();
127121
}
128122

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/str/PString.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
package com.oracle.graal.python.builtins.objects.str;
2727

2828
import com.oracle.graal.python.builtins.objects.type.PythonClass;
29-
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
3029
import com.oracle.graal.python.runtime.sequence.PImmutableSequence;
3130
import com.oracle.graal.python.runtime.sequence.storage.SequenceStorage;
3231

@@ -62,12 +61,6 @@ public SequenceStorage getSequenceStorage() {
6261
throw new UnsupportedOperationException();
6362
}
6463

65-
@SuppressWarnings("hiding")
66-
@Override
67-
public int index(Object value) {
68-
throw new UnsupportedOperationException();
69-
}
70-
7164
@Override
7265
public int hashCode() {
7366
if (value instanceof LazyString) {

0 commit comments

Comments
 (0)