Skip to content

Commit ef9afca

Browse files
committed
[GR-21867] trivial replacement of LazyPythonClass with Object
PullRequest: graalpython/1026
2 parents 2ad6559 + 1141460 commit ef9afca

File tree

95 files changed

+271
-357
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+271
-357
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/PythonBuiltins.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ public void initialize(PythonCore core) {
9696
callable = core.factory().createGetSetDescriptor(get, set, builtin.name(), null, builtin.allowsDelete());
9797
} else if (builtin.isClassmethod()) {
9898
assert !builtin.isStaticmethod();
99-
callable = core.factory().createClassmethod(function);
99+
callable = core.factory().createClassmethodFromCallableObj(function);
100100
} else if (builtin.isStaticmethod()) {
101-
callable = core.factory().createStaticmethod(function);
101+
callable = core.factory().createStaticmethodFromCallableObj(function);
102102
}
103103
setBuiltinFunction(builtin.name(), callable);
104104
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ private static long longValue(Number n) {
269269
return n.longValue();
270270
}
271271

272-
private PArray makeEmptyArray(LazyPythonClass cls, char type) {
272+
private PArray makeEmptyArray(Object cls, char type) {
273273
switch (type) {
274274
case 'c':
275275
case 'b':

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
import com.oracle.graal.python.builtins.objects.memoryview.PMemoryView;
6363
import com.oracle.graal.python.builtins.objects.module.PythonModule;
6464
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
65-
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
6665
import com.oracle.graal.python.builtins.objects.type.PythonAbstractClass;
6766
import com.oracle.graal.python.nodes.ErrorMessages;
6867
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
@@ -204,11 +203,11 @@ private int digitValue(PythonModule self, char b) {
204203
}
205204

206205
private PException oddLengthError(PythonModule self) {
207-
return raise((LazyPythonClass) getAttrNode().execute(self, ERROR), ErrorMessages.ODD_LENGTH_STRING);
206+
return raise(getAttrNode().execute(self, ERROR), ErrorMessages.ODD_LENGTH_STRING);
208207
}
209208

210209
private PException nonHexError(PythonModule self) {
211-
return raise((LazyPythonClass) getAttrNode().execute(self, ERROR), ErrorMessages.NON_HEX_DIGIT_FOUND);
210+
return raise(getAttrNode().execute(self, ERROR), ErrorMessages.NON_HEX_DIGIT_FOUND);
212211
}
213212

214213
private ReadAttributeFromObjectNode getAttrNode() {

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

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ protected abstract static class CreateByteOrByteArrayNode extends PythonBuiltinN
239239
@Child private IsBuiltinClassProfile isClassProfile = IsBuiltinClassProfile.create();
240240

241241
@SuppressWarnings("unused")
242-
protected Object create(LazyPythonClass cls, byte[] barr) {
242+
protected Object create(Object cls, byte[] barr) {
243243
throw new IllegalStateException("should not reach");
244244
}
245245

@@ -320,7 +320,7 @@ private static byte[] resize(byte[] arr, int len) {
320320
@GenerateNodeFactory
321321
public abstract static class BytesNode extends CreateByteOrByteArrayNode {
322322
@Override
323-
protected final Object create(LazyPythonClass cls, byte[] barr) {
323+
protected final Object create(Object cls, byte[] barr) {
324324
return factory().createBytes(cls, barr);
325325
}
326326
}
@@ -331,7 +331,7 @@ protected final Object create(LazyPythonClass cls, byte[] barr) {
331331
@TypeSystemReference(PythonArithmeticTypes.class)
332332
public abstract static class ByteArrayNode extends CreateByteOrByteArrayNode {
333333
@Override
334-
protected final Object create(LazyPythonClass cls, byte[] barr) {
334+
protected final Object create(Object cls, byte[] barr) {
335335
return factory().createByteArray(cls, barr);
336336
}
337337
}
@@ -350,14 +350,14 @@ public abstract static class ComplexNode extends PythonBuiltinNode {
350350
@Child private IsBuiltinClassProfile isPrimitiveProfile = IsBuiltinClassProfile.create();
351351
@Child private IsBuiltinClassProfile isComplexTypeProfile;
352352

353-
private PComplex createComplex(LazyPythonClass cls, double real, double imaginary) {
353+
private PComplex createComplex(Object cls, double real, double imaginary) {
354354
if (isPrimitiveProfile.profileClass(cls, PythonBuiltinClassType.PComplex)) {
355355
return factory().createComplex(real, imaginary);
356356
}
357357
return factory().createComplex(cls, real, imaginary);
358358
}
359359

360-
private PComplex createComplex(LazyPythonClass cls, PComplex value) {
360+
private PComplex createComplex(Object cls, PComplex value) {
361361
if (isPrimitiveProfile.profileClass(cls, PythonBuiltinClassType.PComplex)) {
362362
return value;
363363
}
@@ -779,7 +779,7 @@ public static int endDouble(String string, int s) {
779779
public abstract static class DictionaryNode extends PythonBuiltinNode {
780780
@Specialization
781781
@SuppressWarnings("unused")
782-
public PDict dictEmpty(LazyPythonClass cls, Object[] args, PKeyword[] keywordArgs) {
782+
public PDict dictEmpty(Object cls, Object[] args, PKeyword[] keywordArgs) {
783783
return factory().createDict(cls);
784784
}
785785
}
@@ -1097,12 +1097,12 @@ public abstract static class FrozenSetNode extends PythonBuiltinNode {
10971097
@Child private HashingCollectionNodes.SetItemNode setItemNode;
10981098

10991099
@Specialization(guards = "isNoValue(arg)")
1100-
public PFrozenSet frozensetEmpty(LazyPythonClass cls, @SuppressWarnings("unused") PNone arg) {
1100+
public PFrozenSet frozensetEmpty(Object cls, @SuppressWarnings("unused") PNone arg) {
11011101
return factory().createFrozenSet(cls);
11021102
}
11031103

11041104
@Specialization
1105-
public PFrozenSet frozenset(VirtualFrame frame, LazyPythonClass cls, String arg) {
1105+
public PFrozenSet frozenset(VirtualFrame frame, Object cls, String arg) {
11061106
PFrozenSet frozenSet = factory().createFrozenSet(cls);
11071107
for (int i = 0; i < PString.length(arg); i++) {
11081108
getSetItemNode().execute(frame, frozenSet, PString.valueOf(PString.charAt(arg, i)), PNone.NONE);
@@ -1111,7 +1111,7 @@ public PFrozenSet frozenset(VirtualFrame frame, LazyPythonClass cls, String arg)
11111111
}
11121112

11131113
@Specialization(guards = "!isNoValue(iterable)")
1114-
public PFrozenSet frozensetIterable(VirtualFrame frame, LazyPythonClass cls, Object iterable,
1114+
public PFrozenSet frozensetIterable(VirtualFrame frame, Object cls, Object iterable,
11151115
@Cached("create()") GetIteratorNode getIterator,
11161116
@Cached("create()") GetNextNode next,
11171117
@Cached("create()") IsBuiltinClassProfile errorProfile) {
@@ -1999,7 +1999,7 @@ public PTuple tupleObject(Object cls, @SuppressWarnings("unused") Object arg) {
19991999
@GenerateNodeFactory
20002000
public abstract static class ZipNode extends PythonBuiltinNode {
20012001
@Specialization
2002-
PZip zip(VirtualFrame frame, LazyPythonClass cls, Object[] args,
2002+
PZip zip(VirtualFrame frame, Object cls, Object[] args,
20032003
@Cached("create()") GetIteratorNode getIterator) {
20042004
Object[] iterables = new Object[args.length];
20052005
for (int i = 0; i < args.length; i++) {
@@ -2268,7 +2268,7 @@ private PythonClass typeMetaclass(VirtualFrame frame, String name, PTuple bases,
22682268
// __class_getitem__: if they are plain functions, make them
22692269
// classmethods
22702270
if (value instanceof PFunction) {
2271-
pythonClass.setAttribute(key, factory().createClassmethod(value));
2271+
pythonClass.setAttribute(key, factory().createClassmethodFromCallableObj(value));
22722272
} else {
22732273
pythonClass.setAttribute(key, value);
22742274
}
@@ -2780,17 +2780,17 @@ public Object generator(Object args, Object kwargs) {
27802780
@GenerateNodeFactory
27812781
public abstract static class MethodTypeNode extends PythonTernaryBuiltinNode {
27822782
@Specialization
2783-
Object method(LazyPythonClass cls, PFunction func, Object self) {
2783+
Object method(Object cls, PFunction func, Object self) {
27842784
return factory().createMethod(cls, self, func);
27852785
}
27862786

27872787
@Specialization
2788-
Object methodBuiltin(@SuppressWarnings("unused") LazyPythonClass cls, PBuiltinFunction func, Object self) {
2788+
Object methodBuiltin(@SuppressWarnings("unused") Object cls, PBuiltinFunction func, Object self) {
27892789
return factory().createMethod(self, func);
27902790
}
27912791

27922792
@Specialization
2793-
Object methodGeneric(VirtualFrame frame, @SuppressWarnings("unused") LazyPythonClass cls, Object func, Object self,
2793+
Object methodGeneric(VirtualFrame frame, @SuppressWarnings("unused") Object cls, Object func, Object self,
27942794
@CachedLibrary(limit = "3") PythonObjectLibrary dataModelLibrary) {
27952795
PythonContext context = getContextRef().get();
27962796
Object state = IndirectCallContext.enter(frame, context, this);
@@ -2810,7 +2810,7 @@ Object methodGeneric(VirtualFrame frame, @SuppressWarnings("unused") LazyPythonC
28102810
@GenerateNodeFactory
28112811
public abstract static class BuiltinMethodTypeNode extends PythonBuiltinNode {
28122812
@Specialization
2813-
Object method(LazyPythonClass cls, Object self, PBuiltinFunction func) {
2813+
Object method(Object cls, Object self, PBuiltinFunction func) {
28142814
return factory().createBuiltinMethod(cls, self, func);
28152815
}
28162816
}
@@ -2966,12 +2966,12 @@ Object call() {
29662966
@GenerateNodeFactory
29672967
public abstract static class BaseExceptionNode extends PythonBuiltinNode {
29682968
@Specialization(guards = "args.length == 0")
2969-
Object initNoArgs(LazyPythonClass cls, @SuppressWarnings("unused") Object[] args, @SuppressWarnings("unused") PKeyword[] kwargs) {
2969+
Object initNoArgs(Object cls, @SuppressWarnings("unused") Object[] args, @SuppressWarnings("unused") PKeyword[] kwargs) {
29702970
return factory().createBaseException(cls);
29712971
}
29722972

29732973
@Specialization(guards = "args.length != 0")
2974-
Object initArgs(LazyPythonClass cls, Object[] args, @SuppressWarnings("unused") PKeyword[] kwargs) {
2974+
Object initArgs(Object cls, Object[] args, @SuppressWarnings("unused") PKeyword[] kwargs) {
29752975
return factory().createBaseException(cls, factory().createTuple(args));
29762976
}
29772977
}
@@ -3128,7 +3128,7 @@ public boolean hasSetItem(Object object) {
31283128
@GenerateNodeFactory
31293129
public abstract static class MemoryViewNode extends PythonBuiltinNode {
31303130
@Specialization
3131-
public PMemoryView doGeneric(LazyPythonClass cls, Object value) {
3131+
public PMemoryView doGeneric(Object cls, Object value) {
31323132
return factory().createMemoryView(cls, value);
31333133
}
31343134
}
@@ -3138,7 +3138,7 @@ public PMemoryView doGeneric(LazyPythonClass cls, Object value) {
31383138
@GenerateNodeFactory
31393139
public abstract static class SuperInitNode extends PythonTernaryBuiltinNode {
31403140
@Specialization
3141-
Object doObjectIndirect(LazyPythonClass self, @SuppressWarnings("unused") Object type, @SuppressWarnings("unused") Object object) {
3141+
Object doObjectIndirect(Object self, @SuppressWarnings("unused") Object type, @SuppressWarnings("unused") Object object) {
31423142
return factory().createSuperObject(self);
31433143
}
31443144
}
@@ -3166,7 +3166,7 @@ Object doObjectIndirect(LazyPythonClass self, @SuppressWarnings("unused") Object
31663166
@GenerateNodeFactory
31673167
public abstract static class ClassmethodNode extends PythonBinaryBuiltinNode {
31683168
@Specialization
3169-
Object doObjectIndirect(LazyPythonClass self, @SuppressWarnings("unused") Object callable) {
3169+
Object doObjectIndirect(Object self, @SuppressWarnings("unused") Object callable) {
31703170
return factory().createClassmethod(self);
31713171
}
31723172
}
@@ -3175,7 +3175,7 @@ Object doObjectIndirect(LazyPythonClass self, @SuppressWarnings("unused") Object
31753175
@GenerateNodeFactory
31763176
public abstract static class StaticmethodNode extends PythonBinaryBuiltinNode {
31773177
@Specialization
3178-
Object doObjectIndirect(LazyPythonClass self, @SuppressWarnings("unused") Object callable) {
3178+
Object doObjectIndirect(Object self, @SuppressWarnings("unused") Object callable) {
31793179
return factory().createStaticmethod(self);
31803180
}
31813181
}
@@ -3184,7 +3184,7 @@ Object doObjectIndirect(LazyPythonClass self, @SuppressWarnings("unused") Object
31843184
@GenerateNodeFactory
31853185
public abstract static class MapNode extends PythonVarargsBuiltinNode {
31863186
@Specialization
3187-
PMap doit(LazyPythonClass self, @SuppressWarnings("unused") Object[] args, @SuppressWarnings("unused") PKeyword[] keywords) {
3187+
PMap doit(Object self, @SuppressWarnings("unused") Object[] args, @SuppressWarnings("unused") PKeyword[] keywords) {
31883188
return factory().createMap(self);
31893189
}
31903190
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
import com.oracle.graal.python.builtins.objects.lzma.PLZMACompressor;
7575
import com.oracle.graal.python.builtins.objects.lzma.PLZMADecompressor;
7676
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
77-
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
7877
import com.oracle.graal.python.nodes.ErrorMessages;
7978
import com.oracle.graal.python.nodes.PGuards;
8079
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
@@ -300,7 +299,7 @@ abstract static class LZMACompressorNode extends LZMANode {
300299
private static final int INITIAL_BUFFER_SIZE = 8192;
301300

302301
@Specialization
303-
PLZMACompressor doCreate(VirtualFrame frame, LazyPythonClass cls, Object formatObj, Object checkObj, Object presetObj, Object filters,
302+
PLZMACompressor doCreate(VirtualFrame frame, Object cls, Object formatObj, Object checkObj, Object presetObj, Object filters,
304303
@CachedLibrary(limit = "4") PythonObjectLibrary lib) {
305304

306305
int format = FORMAT_XZ;
@@ -415,7 +414,7 @@ abstract static class LZMADecompressorNode extends LZMANode {
415414
@Child private IsBuiltinClassProfile keyErrorProfile;
416415

417416
@Specialization
418-
PLZMADecompressor doCreate(VirtualFrame frame, LazyPythonClass cls, Object formatObj, Object memlimitObj, Object filters,
417+
PLZMADecompressor doCreate(VirtualFrame frame, Object cls, Object formatObj, Object memlimitObj, Object filters,
419418
@CachedLibrary(limit = "2") PythonObjectLibrary lib) {
420419

421420
int format = FORMAT_AUTO;

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
import com.oracle.graal.python.builtins.objects.function.PKeyword;
5454
import com.oracle.graal.python.builtins.objects.list.PList;
5555
import com.oracle.graal.python.builtins.objects.object.PythonBuiltinObject;
56-
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
5756
import com.oracle.graal.python.nodes.SpecialMethodNames;
5857
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
5958
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
@@ -87,7 +86,7 @@ public static PythonBuiltins newProfilerBuiltins() {
8786
abstract static class LsprofNew extends PythonBuiltinNode {
8887
@Specialization
8988
@TruffleBoundary
90-
Profiler doit(LazyPythonClass cls, @SuppressWarnings("unused") Object[] args, @SuppressWarnings("unused") PKeyword[] kwargs) {
89+
Profiler doit(Object cls, @SuppressWarnings("unused") Object[] args, @SuppressWarnings("unused") PKeyword[] kwargs) {
9190
Env env = getContext().getEnv();
9291
Map<String, InstrumentInfo> instruments = env.getInstruments();
9392
InstrumentInfo instrumentInfo = instruments.get(CPUSamplerInstrument.ID);
@@ -110,7 +109,7 @@ class Profiler extends PythonBuiltinObject {
110109
double time;
111110
final CPUSampler sampler;
112111

113-
public Profiler(LazyPythonClass cls, DynamicObject storage, CPUSampler sampler) {
112+
public Profiler(Object cls, DynamicObject storage, CPUSampler sampler) {
114113
super(cls, storage);
115114
this.sampler = sampler;
116115
this.sampler.setFilter(SourceSectionFilter.newBuilder().includeInternal(true).build());

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
import com.oracle.graal.python.builtins.PythonBuiltins;
5151
import com.oracle.graal.python.builtins.objects.PNone;
5252
import com.oracle.graal.python.builtins.objects.thread.PSemLock;
53-
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
5453
import com.oracle.graal.python.nodes.ErrorMessages;
5554
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
5655
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
@@ -84,7 +83,7 @@ public void initialize(PythonCore core) {
8483
@GenerateNodeFactory
8584
abstract static class ConstructSemLockNode extends PythonBuiltinNode {
8685
@Specialization
87-
PSemLock construct(LazyPythonClass cls, Object kindObj, Object valueObj, Object maxvalueObj, Object nameObj, Object unlinkObj,
86+
PSemLock construct(Object cls, Object kindObj, Object valueObj, Object maxvalueObj, Object nameObj, Object unlinkObj,
8887
@Cached CastToJavaStringNode castNameNode,
8988
@Cached CastToJavaIntExactNode castKindToIntNode,
9089
@Cached CastToJavaIntExactNode castValueToIntNode,

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@
114114
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
115115
import com.oracle.graal.python.builtins.objects.socket.PSocket;
116116
import com.oracle.graal.python.builtins.objects.tuple.PTuple;
117-
import com.oracle.graal.python.builtins.objects.type.LazyPythonClass;
118117
import com.oracle.graal.python.nodes.ErrorMessages;
119118
import com.oracle.graal.python.nodes.SpecialMethodNames;
120119
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
@@ -839,7 +838,7 @@ private static Object[] listToArray(Collection<TruffleFile> listFiles) {
839838
public abstract static class ScandirIterNode extends PythonBinaryBuiltinNode {
840839

841840
@Specialization(limit = "1")
842-
Object doit(VirtualFrame frame, LazyPythonClass cls, Object pathArg,
841+
Object doit(VirtualFrame frame, Object cls, Object pathArg,
843842
@CachedLibrary("pathArg") PythonObjectLibrary lib) {
844843
String path = lib.asPath(pathArg);
845844
try {
@@ -857,7 +856,7 @@ Object doit(VirtualFrame frame, LazyPythonClass cls, Object pathArg,
857856
public abstract static class DirEntryNode extends PythonTernaryBuiltinNode {
858857

859858
@Specialization(limit = "1")
860-
Object doit(VirtualFrame frame, LazyPythonClass cls, String name, Object pathArg,
859+
Object doit(VirtualFrame frame, Object cls, String name, Object pathArg,
861860
@CachedLibrary("pathArg") PythonObjectLibrary lib) {
862861
String path = lib.asPath(pathArg);
863862
try {

0 commit comments

Comments
 (0)