GitNexus/gitnexus/test/fixtures/lang-resolution/python-enumerate-loop/app.py
Chirag Nighut aa1bab597b
feat: add Python enumerate() for-loop support with nested tuple patterns (#356)
- Handle `for i, k, v in enumerate(d.items())` — flat pattern
- Handle `for i, (k, v) in enumerate(d.items())` — nested tuple_pattern
- Handle `for (k, v) in enumerate(users)` — parenthesized tuple as top-level

Extract helper functions for cleaner code:
- `extractMethodCall()` — deduplicate method call parsing
- `collectPatternIdentifiers()` — recursively collect identifiers from patterns

Add unit tests for TypeEnv and integration tests verifying CALLS edges.

Made-with: Cursor

Co-authored-by: chirag-nighut <chiragnighut@gmail.com>
2026-03-18 13:05:10 +00:00

20 lines
540 B
Python

from user import User
from typing import List
def process_users(users: dict[str, User]):
# 3-variable enumerate: i=index, k=key, v=value (User)
for i, k, v in enumerate(users.items()):
v.save()
def process_nested_tuple(users: dict[str, User]):
# Nested tuple pattern: i=index, (k,v) tuple unpacked
for i, (k, v) in enumerate(users.items()):
v.save()
def process_parenthesized_tuple(users: List[User]):
# Parenthesized tuple as top-level pattern
for (i, u) in enumerate(users):
u.save()