Skip to content

Commit 47a7926

Browse files
committed
[GR-52619] Add dummy impl for gc.get_referrers.
PullRequest: graalpython/3240
2 parents a041524 + fbdac65 commit 47a7926

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

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

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017, 2023, Oracle and/or its affiliates.
2+
* Copyright (c) 2017, 2024, Oracle and/or its affiliates.
33
* Copyright (c) 2013, Regents of the University of California
44
*
55
* All rights reserved.
@@ -38,6 +38,7 @@
3838
import com.oracle.graal.python.builtins.objects.cext.capi.transitions.CApiTransitions;
3939
import com.oracle.graal.python.builtins.objects.list.PList;
4040
import com.oracle.graal.python.builtins.objects.tuple.PTuple;
41+
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
4142
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
4243
import com.oracle.graal.python.runtime.GilNode;
4344
import com.oracle.graal.python.runtime.PythonContext;
@@ -47,13 +48,14 @@
4748
import com.oracle.truffle.api.dsl.Cached;
4849
import com.oracle.truffle.api.dsl.Fallback;
4950
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
51+
import com.oracle.truffle.api.dsl.NodeFactory;
5052
import com.oracle.truffle.api.dsl.Specialization;
5153

5254
@CoreFunctions(defineModule = "gc")
5355
public final class GcModuleBuiltins extends PythonBuiltins {
5456

5557
@Override
56-
protected List<com.oracle.truffle.api.dsl.NodeFactory<? extends PythonBuiltinNode>> getNodeFactories() {
58+
protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFactories() {
5759
return GcModuleBuiltinsFactory.getFactories();
5860
}
5961

@@ -172,11 +174,22 @@ public boolean isTracked(@SuppressWarnings("unused") Object object) {
172174
@GenerateNodeFactory
173175
abstract static class GcGetReferentsNode extends PythonBuiltinNode {
174176
@Specialization
175-
static PList getReferents(@SuppressWarnings("unused") Object objects,
176-
@Cached PythonObjectFactory factory) {
177+
@TruffleBoundary
178+
static PList getReferents(@SuppressWarnings("unused") Object objects) {
177179
// TODO: this is just a dummy implementation; for native objects, this should actually
178180
// use 'tp_traverse'
179-
return factory.createList();
181+
return PythonContext.get(null).factory().createList();
182+
}
183+
}
184+
185+
@Builtin(name = "get_referrers", takesVarArgs = true)
186+
@GenerateNodeFactory
187+
abstract static class GcGetReferrersNode extends PythonBuiltinNode {
188+
@Specialization
189+
@TruffleBoundary
190+
static PList doGeneric(@SuppressWarnings("unused") Object objects) {
191+
// dummy implementation
192+
return PythonContext.get(null).factory().createList();
180193
}
181194
}
182195
}

0 commit comments

Comments
 (0)