Skip to content

Commit 12af00f

Browse files
committed
should not be possible for modules to modify dict
1 parent 76a2e4e commit 12af00f

File tree

1 file changed

+1
-18
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/module

1 file changed

+1
-18
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/module/ModuleBuiltins.java

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ protected static boolean isDict(Object object, IsBuiltinClassProfile profile) {
182182
}
183183
}
184184

185-
@Builtin(name = __DICT__, minNumOfPositionalArgs = 1, maxNumOfPositionalArgs = 2, isGetter = true, isSetter = true)
185+
@Builtin(name = __DICT__, minNumOfPositionalArgs = 1, maxNumOfPositionalArgs = 2, isGetter = true)
186186
@GenerateNodeFactory
187187
public abstract static class ModuleDictNode extends PythonBinaryBuiltinNode {
188188
@Specialization(guards = {"isNoValue(none)"}, limit = "1")
@@ -204,18 +204,6 @@ Object dict(PythonModule self, @SuppressWarnings("unused") PNone none,
204204
return dict;
205205
}
206206

207-
@Specialization(limit = "1")
208-
Object dict(PythonModule self, PDict dict,
209-
@CachedLibrary("self") PythonObjectLibrary lib) {
210-
try {
211-
lib.setDict(self, dict);
212-
} catch (UnsupportedMessageException e) {
213-
CompilerDirectives.transferToInterpreterAndInvalidate();
214-
throw new IllegalStateException(e);
215-
}
216-
return PNone.NONE;
217-
}
218-
219207
@Specialization(guards = "isNoValue(none)", limit = "1")
220208
Object dict(PythonAbstractNativeObject self, @SuppressWarnings("unused") PNone none,
221209
@CachedLibrary("self") PythonObjectLibrary lib) {
@@ -226,11 +214,6 @@ Object dict(PythonAbstractNativeObject self, @SuppressWarnings("unused") PNone n
226214
return dict;
227215
}
228216

229-
@Specialization(guards = {"!isNoValue(mapping)", "!isDict(mapping)"})
230-
Object dict(@SuppressWarnings("unused") Object self, Object mapping) {
231-
throw raise(TypeError, ErrorMessages.DICT_MUST_BE_SET_TO_DICT, mapping);
232-
}
233-
234217
@Fallback
235218
Object raise(Object self, @SuppressWarnings("unused") Object dict) {
236219
throw raise(PythonBuiltinClassType.TypeError, "descriptor '__dict__' for 'module' objects doesn't apply to a '%p' object", self);

0 commit comments

Comments
 (0)