Skip to content

Commit 2d915e3

Browse files
committed
Use Enum/IntEnum consistently in CABI code (no change)
1 parent 35c6d24 commit 2d915e3

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

design/mvp/CanonicalABI.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ Tasks are represented by objects of the `Task` class which are created by the
670670
with fields and initialization:
671671
```python
672672
class Task:
673-
class State(IntEnum):
673+
class State(Enum):
674674
INITIAL = 1
675675
PENDING_CANCEL = 2
676676
CANCEL_DELIVERED = 3
@@ -3286,12 +3286,12 @@ always returns control flow back to the caller without blocking:
32863286
await subtask.call_async(callee, on_start, on_resolve)
32873287
if subtask.resolved():
32883288
subtask.deliver_resolve()
3289-
return [int(Subtask.State.RETURNED)]
3289+
return [Subtask.State.RETURNED]
32903290

32913291
subtaski = task.inst.table.add(subtask)
32923292
assert(0 < subtaski <= Table.MAX_LENGTH < 2**28)
3293-
assert(0 <= int(subtask.state) < 2**4)
3294-
return [int(subtask.state) | (subtaski << 4)]
3293+
assert(0 <= subtask.state < 2**4)
3294+
return [subtask.state | (subtaski << 4)]
32953295
```
32963296
When `callee` blocks before returning, the `on_progress` function called by
32973297
`on_start` and `on_resolve` uses `Waitable.set_event` to asynchronously notify
@@ -4005,7 +4005,7 @@ in the high 28 bits; they're always zero.
40054005
e.copying = False
40064006
if result == CopyResult.DROPPED or result == CopyResult.COMPLETED:
40074007
e.done = True
4008-
return (event_code, i, int(result))
4008+
return (event_code, i, result)
40094009

40104010
def on_copy_done(result):
40114011
assert(result != CopyResult.DROPPED or event_code == EventCode.FUTURE_WRITE)

design/mvp/canonical-abi/definitions.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from dataclasses import dataclass
99
from functools import partial
1010
from typing import Any, Optional, Callable, Awaitable, TypeVar, Generic, Literal
11-
from enum import IntEnum
11+
from enum import Enum, IntEnum
1212
import math
1313
import struct
1414
import random
@@ -463,7 +463,7 @@ def drop(self):
463463
OnBlock = Callable[[Awaitable], Awaitable[bool]]
464464

465465
class Task:
466-
class State(IntEnum):
466+
class State(Enum):
467467
INITIAL = 1
468468
PENDING_CANCEL = 2
469469
CANCEL_DELIVERED = 3
@@ -2041,12 +2041,12 @@ def subtask_event():
20412041
await subtask.call_async(callee, on_start, on_resolve)
20422042
if subtask.resolved():
20432043
subtask.deliver_resolve()
2044-
return [int(Subtask.State.RETURNED)]
2044+
return [Subtask.State.RETURNED]
20452045

20462046
subtaski = task.inst.table.add(subtask)
20472047
assert(0 < subtaski <= Table.MAX_LENGTH < 2**28)
2048-
assert(0 <= int(subtask.state) < 2**4)
2049-
return [int(subtask.state) | (subtaski << 4)]
2048+
assert(0 <= subtask.state < 2**4)
2049+
return [subtask.state | (subtaski << 4)]
20502050

20512051
### `canon resource.new`
20522052

@@ -2328,7 +2328,7 @@ def future_event(result):
23282328
e.copying = False
23292329
if result == CopyResult.DROPPED or result == CopyResult.COMPLETED:
23302330
e.done = True
2331-
return (event_code, i, int(result))
2331+
return (event_code, i, result)
23322332

23332333
def on_copy_done(result):
23342334
assert(result != CopyResult.DROPPED or event_code == EventCode.FUTURE_WRITE)

0 commit comments

Comments
 (0)