コード例 #1
0
ファイル: SetDispatchNode.java プロジェクト: wdv4758h/ZipPy
 public LinkedSetDispatchNode(
     String attributeId, AttributeWriteNode write, PythonObject primary, SetDispatchNode next) {
   super(attributeId);
   this.check = LayoutCheckNode.create(primary, attributeId, true);
   this.write = write;
   this.next = next;
 }
コード例 #2
0
ファイル: SetDispatchNode.java プロジェクト: wdv4758h/ZipPy
 @Override
 public void setBooleanValue(VirtualFrame frame, PythonObject primary, boolean value) {
   try {
     if (check.accept(primary)) {
       write.setBooleanValueUnsafe(primary, value);
     } else {
       next.setBooleanValue(frame, primary, value);
     }
   } catch (InvalidAssumptionException | StorageLocationGeneralizeException e) {
     rewrite(next).setValue(frame, primary, value);
   }
 }