Map from AST nodes to AST nodes.
| 3079 | |
| 3080 | |
| 3081 | class AstMap: |
| 3082 | """Map from AST nodes to AST nodes.""" |
| 3083 | |
| 3084 | def __init__(self, ctx: Context | None = None) -> None: |
| 3085 | self._map: dict[Any, Any] = {} |
| 3086 | |
| 3087 | def __setitem__(self, k: Any, v: Any) -> None: |
| 3088 | self._map[k] = v |
| 3089 | |
| 3090 | def __getitem__(self, k: Any) -> Any: |
| 3091 | return self._map[k] |
| 3092 | |
| 3093 | def __contains__(self, k: Any) -> bool: |
| 3094 | return k in self._map |
| 3095 | |
| 3096 | def __len__(self) -> int: |
| 3097 | return len(self._map) |
| 3098 | |
| 3099 | def __repr__(self) -> str: |
| 3100 | return repr(self._map) |
| 3101 | |
| 3102 | def erase(self, k: Any) -> None: |
| 3103 | self._map.pop(k, None) |
| 3104 | |
| 3105 | def reset(self) -> None: |
| 3106 | self._map.clear() |
| 3107 | |
| 3108 | def keys(self): |
| 3109 | return list(self._map.keys()) |
| 3110 | |
| 3111 | |
| 3112 | # --------------------------------------------------------------------------- |
no outgoing calls