Skip to content

Commit 27c510c

Browse files
committed
Resolve handle in CreateDynamic
1 parent e03b2f8 commit 27c510c

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import com.oracle.graal.python.builtins.objects.bytes.PBytes;
6262
import com.oracle.graal.python.builtins.objects.bytes.PBytesLike;
6363
import com.oracle.graal.python.builtins.objects.cext.capi.CExtNodesFactory.AsPythonObjectNodeGen;
64+
import com.oracle.graal.python.builtins.objects.cext.capi.CExtNodesFactory.ResolveHandleNodeGen;
6465
import com.oracle.graal.python.builtins.objects.cext.common.CExtCommonNodes.CheckFunctionResultNode;
6566
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyContext;
6667
import com.oracle.graal.python.builtins.objects.cext.hpy.GraalHPyInitObject;
@@ -76,6 +77,7 @@
7677
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
7778
import com.oracle.graal.python.builtins.objects.str.PString;
7879
import com.oracle.graal.python.nodes.ErrorMessages;
80+
import com.oracle.graal.python.nodes.PRaiseNode;
7981
import com.oracle.graal.python.nodes.SpecialMethodNames;
8082
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
8183
import com.oracle.graal.python.nodes.attributes.SetAttributeNode;
@@ -344,7 +346,7 @@ private Object initHPyModule(TruffleObject sulongLibrary, String initFuncName, S
344346
if (!(result instanceof PythonModule)) {
345347
// PyModuleDef_Init(pyModuleDef)
346348
// TODO: PyModule_FromDefAndSpec((PyModuleDef*)m, spec);
347-
throw raise(NotImplementedError, "multi-phase init of extension module %s", name);
349+
throw PRaiseNode.raiseUncached(this, NotImplementedError, ErrorMessages.MULTI_PHASE_INIT_OF_EXTENSION_MODULE_S, name);
348350
} else {
349351
((PythonObject) result).setAttribute(__FILE__, path);
350352
// TODO: _PyImport_FixupExtensionObject(result, name, path, sys.modules)
@@ -377,11 +379,11 @@ private Object initCApiModule(TruffleObject sulongLibrary, String initFuncName,
377379

378380
getCheckResultNode().execute(context, initFuncName, nativeResult);
379381

380-
Object result = AsPythonObjectNodeGen.getUncached().execute(nativeResult);
382+
Object result = AsPythonObjectNodeGen.getUncached().execute(ResolveHandleNodeGen.getUncached().execute(nativeResult));
381383
if (!(result instanceof PythonModule)) {
382384
// PyModuleDef_Init(pyModuleDef)
383385
// TODO: PyModule_FromDefAndSpec((PyModuleDef*)m, spec);
384-
throw raise(NotImplementedError, "multi-phase init of extension module %s", path);
386+
throw PRaiseNode.raiseUncached(this, NotImplementedError, ErrorMessages.MULTI_PHASE_INIT_OF_EXTENSION_MODULE_S, path);
385387
} else {
386388
((PythonObject) result).setAttribute(__FILE__, path);
387389
// TODO: _PyImport_FixupExtensionObject(result, name, path, sys.modules)

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/ErrorMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -748,4 +748,5 @@ public abstract class ErrorMessages {
748748
public static final String P_RETURNED_NON_P = "%p.%s returned non-%s (type %p). " +
749749
"The ability to return an instance of a strict subclass of %s " +
750750
"is deprecated, and may be removed in a future version of Python.";
751+
public static final String MULTI_PHASE_INIT_OF_EXTENSION_MODULE_S = "multi-phase init of extension module %s";
751752
}

0 commit comments

Comments
 (0)