Skip to content

Commit 889414e

Browse files
committed
Fix: did not use parent's delegate field everywhere.
1 parent 00b5e55 commit 889414e

13 files changed

+41
-66
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/TruffleCextBuiltins.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1175,7 +1175,7 @@ public static GetByteArrayNode create() {
11751175

11761176
@Specialization
11771177
byte[] doCArrayWrapper(CByteArrayWrapper o, @SuppressWarnings("unused") long size) {
1178-
return o.getDelegate();
1178+
return o.getByteArray();
11791179
}
11801180

11811181
@Specialization

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/CArrayWrapperMR.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public class CArrayWrapperMR {
6666
@Resolve(message = "READ")
6767
abstract static class ReadNode extends Node {
6868
public char access(CStringWrapper object, int idx) {
69-
String s = object.getDelegate();
69+
String s = object.getString();
7070
if (idx >= 0 && idx < s.length()) {
7171
return s.charAt(idx);
7272
} else if (idx == s.length()) {
@@ -86,7 +86,7 @@ public char access(CStringWrapper object, long idx) {
8686
}
8787

8888
public byte access(CByteArrayWrapper object, int idx) {
89-
byte[] arr = object.getDelegate();
89+
byte[] arr = object.getByteArray();
9090
if (idx >= 0 && idx < arr.length) {
9191
return arr[idx];
9292
} else if (idx == arr.length) {
@@ -127,7 +127,7 @@ abstract static class GetTypeIDNode extends CExtBaseNode {
127127

128128
@Specialization
129129
Object doTuple(CStringWrapper object) {
130-
return callGetByteArrayTypeID(object.getDelegate().length());
130+
return callGetByteArrayTypeID(object.getString().length());
131131
}
132132

133133
private Object callGetByteArrayTypeID(long len) {
@@ -149,11 +149,11 @@ boolean access(@SuppressWarnings("unused") CArrayWrapper obj) {
149149
@Resolve(message = "GET_SIZE")
150150
abstract static class GetSizeNode extends Node {
151151
long access(CStringWrapper obj) {
152-
return obj.getDelegate().length();
152+
return obj.getString().length();
153153
}
154154

155155
int access(CByteArrayWrapper obj) {
156-
return obj.getDelegate().length;
156+
return obj.getByteArray().length;
157157
}
158158
}
159159

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/CArrayWrappers.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ public abstract class CArrayWrappers {
5353

5454
public abstract static class CArrayWrapper extends PythonNativeWrapper {
5555

56+
public CArrayWrapper(Object delegate) {
57+
super(delegate);
58+
}
59+
5660
static boolean isInstance(TruffleObject o) {
5761
return o instanceof CArrayWrapper;
5862
}
@@ -71,15 +75,12 @@ public ForeignAccess getForeignAccess() {
7175
*/
7276
public static class CStringWrapper extends CArrayWrapper {
7377

74-
private final String delegate;
75-
7678
public CStringWrapper(String delegate) {
77-
this.delegate = delegate;
79+
super(delegate);
7880
}
7981

80-
@Override
81-
public String getDelegate() {
82-
return delegate;
82+
public String getString() {
83+
return (String) getDelegate();
8384
}
8485

8586
}
@@ -90,15 +91,12 @@ public String getDelegate() {
9091
*/
9192
public static class CByteArrayWrapper extends CArrayWrapper {
9293

93-
private final byte[] delegate;
94-
9594
public CByteArrayWrapper(byte[] delegate) {
96-
this.delegate = delegate;
95+
super(delegate);
9796
}
9897

99-
@Override
100-
public byte[] getDelegate() {
101-
return delegate;
98+
public byte[] getByteArray() {
99+
return (byte[]) getDelegate();
102100
}
103101

104102
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/ManagedMethodWrappers.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,9 @@
5050
public abstract class ManagedMethodWrappers {
5151

5252
public abstract static class MethodWrapper extends PythonNativeWrapper {
53-
private final Object method;
5453

5554
public MethodWrapper(Object method) {
56-
this.method = method;
57-
}
58-
59-
@Override
60-
public Object getDelegate() {
61-
return method;
55+
super(method);
6256
}
6357

6458
static boolean isInstance(TruffleObject o) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/NativeWrappers.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public PythonNativeWrapper(Object delegate) {
6767
this.delegate = delegate;
6868
}
6969

70-
public Object getDelegate() {
70+
public final Object getDelegate() {
7171
return delegate;
7272
}
7373

@@ -417,9 +417,8 @@ public PyUnicodeWrapper(PString delegate) {
417417
super(delegate);
418418
}
419419

420-
@Override
421-
public PString getDelegate() {
422-
return (PString) super.getDelegate();
420+
public PString getPString() {
421+
return (PString) getDelegate();
423422
}
424423

425424
@Override

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/PyBufferProcsWrapper.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,8 @@
4747

4848
public class PyBufferProcsWrapper extends PythonNativeWrapper {
4949

50-
private final PythonClass delegate;
51-
5250
public PyBufferProcsWrapper(PythonClass delegate) {
53-
this.delegate = delegate;
54-
}
55-
56-
@Override
57-
public PythonClass getDelegate() {
58-
return delegate;
51+
super(delegate);
5952
}
6053

6154
static boolean isInstance(TruffleObject o) {
@@ -66,4 +59,8 @@ static boolean isInstance(TruffleObject o) {
6659
public ForeignAccess getForeignAccess() {
6760
return PyBufferProcsWrapperMRForeign.ACCESS;
6861
}
62+
63+
public PythonClass getPythonClass() {
64+
return (PythonClass) getDelegate();
65+
}
6966
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/PyBufferProcsWrapperMR.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ abstract static class ReadNode extends Node {
5858

5959
public Object access(PyBufferProcsWrapper object, String key) {
6060
// translate key to attribute name
61-
PythonClassNativeWrapper nativeWrapper = object.getDelegate().getNativeWrapper();
61+
PythonClassNativeWrapper nativeWrapper = object.getPythonClass().getNativeWrapper();
6262
// TODO handle case if nativeWrapper does not exist yet
6363
Object result;
6464
switch (key) {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/PyNumberMethodsWrapper.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,8 @@
5050
*/
5151
public class PyNumberMethodsWrapper extends PythonNativeWrapper {
5252

53-
private final PythonClass delegate;
54-
5553
public PyNumberMethodsWrapper(PythonClass delegate) {
56-
this.delegate = delegate;
57-
}
58-
59-
@Override
60-
public PythonClass getDelegate() {
61-
return delegate;
54+
super(delegate);
6255
}
6356

6457
static boolean isInstance(TruffleObject o) {
@@ -69,4 +62,8 @@ static boolean isInstance(TruffleObject o) {
6962
public ForeignAccess getForeignAccess() {
7063
return PyNumberMethodsWrapperMRForeign.ACCESS;
7164
}
65+
66+
public PythonClass getPythonClass() {
67+
return (PythonClass) getDelegate();
68+
}
7269
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/PyNumberMethodsWrapperMR.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ abstract static class ReadNode extends Node {
7878

7979
public Object access(PyNumberMethodsWrapper object, String key) {
8080
// translate key to attribute name
81-
PythonClass delegate = object.getDelegate();
81+
PythonClass delegate = object.getPythonClass();
8282
return getToSulongNode().execute(readMethodNode.execute(delegate, key));
8383
}
8484

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/PyProcsWrapper.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,8 @@
4646

4747
public abstract class PyProcsWrapper extends PythonNativeWrapper {
4848

49-
private final Object delegate;
50-
5149
public PyProcsWrapper(Object delegate) {
52-
this.delegate = delegate;
53-
}
54-
55-
@Override
56-
public Object getDelegate() {
57-
return delegate;
50+
super(delegate);
5851
}
5952

6053
static boolean isInstance(TruffleObject o) {

0 commit comments

Comments
 (0)