Skip to content

Commit 1e36636

Browse files
committed
return null if there's no native dict
1 parent 5ea152e commit 1e36636

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747

4848
import com.oracle.graal.python.PythonLanguage;
4949
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
50+
import com.oracle.graal.python.builtins.objects.PNone;
5051
import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
5152
import com.oracle.graal.python.builtins.objects.cext.CExtNodes.ImportCAPISymbolNode;
5253
import com.oracle.graal.python.builtins.objects.cext.CExtNodes.PCallCapiFunction;
@@ -160,6 +161,8 @@ public PHashingCollection getNativeDictionary(Object self,
160161
Object javaDict = toJava.execute(interopLibrary.execute(func, toSulong.execute(self)));
161162
if (javaDict instanceof PHashingCollection) {
162163
return (PHashingCollection) javaDict;
164+
} else if (javaDict == PNone.NO_VALUE) {
165+
return null;
163166
} else {
164167
throw raiseNode.raise(PythonBuiltinClassType.TypeError, "__dict__ must have been set to a dictionary, not a '%p'", javaDict);
165168
}

0 commit comments

Comments
 (0)