Skip to content

Commit 8a4bfcd

Browse files
timfelfangerer
authored andcommitted
export hasMemberReadSideEffects and hasMemberWriteSideEffects
1 parent 24f1dba commit 8a4bfcd

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/PythonAbstractObject.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,20 @@ public boolean isMemberRemovable(String member,
393393
return (keyInfoNode.execute(this, member) & PKeyInfoNode.REMOVABLE) != 0;
394394
}
395395

396+
@ExportMessage
397+
public boolean hasMemberReadSideEffects(String member,
398+
@Shared("keyInfoNode") @Cached PKeyInfoNode keyInfoNode) {
399+
// TODO write specialized nodes for the appropriate property
400+
return (keyInfoNode.execute(this, member) & PKeyInfoNode.READ_SIDE_EFFECTS) != 0;
401+
}
402+
403+
@ExportMessage
404+
public boolean hasMemberWriteSideEffects(String member,
405+
@Shared("keyInfoNode") @Cached PKeyInfoNode keyInfoNode) {
406+
// TODO write specialized nodes for the appropriate property
407+
return (keyInfoNode.execute(this, member) & PKeyInfoNode.WRITE_SIDE_EFFECTS) != 0;
408+
}
409+
396410
@ExportMessage
397411
public Object invokeMember(String member, Object[] arguments,
398412
@Exclusive @Cached LookupInheritedAttributeNode.Dynamic lookupGetattributeNode,

0 commit comments

Comments
 (0)