Vector of AST nodes.
| 3045 | |
| 3046 | |
| 3047 | class AstVector: |
| 3048 | """Vector of AST nodes.""" |
| 3049 | |
| 3050 | def __init__(self, ctx: Context | None = None) -> None: |
| 3051 | self._elems: list[Any] = [] |
| 3052 | |
| 3053 | def push(self, v: Any) -> None: |
| 3054 | self._elems.append(v) |
| 3055 | |
| 3056 | def __len__(self) -> int: |
| 3057 | return len(self._elems) |
| 3058 | |
| 3059 | def __getitem__(self, i: int) -> Any: |
| 3060 | return self._elems[i] |
| 3061 | |
| 3062 | def __setitem__(self, i: int, v: Any) -> None: |
| 3063 | self._elems[i] = v |
| 3064 | |
| 3065 | def __iter__(self): |
| 3066 | return iter(self._elems) |
| 3067 | |
| 3068 | def __contains__(self, v: Any) -> bool: |
| 3069 | return v in self._elems |
| 3070 | |
| 3071 | def __repr__(self) -> str: |
| 3072 | return f"[{', '.join(repr(e) for e in self._elems)}]" |
| 3073 | |
| 3074 | def translate(self, ctx: Context) -> AstVector: |
| 3075 | return self |
| 3076 | |
| 3077 | def sexpr(self) -> str: |
| 3078 | return repr(self) |
| 3079 | |
| 3080 | |
| 3081 | class AstMap: |
no outgoing calls