--- source: tests/langs/mod.rs expression: inscope_parts --- - n: 20 l: "def free_func():\n" m: ^^^^^^^^^^^^^^^^^^ - n: 21 l: " \"\"\"A free function for testing.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 22 l: " global test_var\n" m: ^^^^^^^^^^^^^^^^^^^^^ - n: 23 l: " test_var += 1\n" m: ^^^^^^^^^^^^^^^^^^^ - n: 24 l: " print(f\"Global test_var is now {test_var}\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 28 l: "def func_decorator(func):\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 29 l: " \"\"\"Decorator for free function.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 30 l: "\n" m: ^^ - n: 31 l: " def wrapper(*args, **kwargs):\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 32 l: " print(\"Function decorator called\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 33 l: " return func(*args, **kwargs)\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 34 l: "\n" m: ^^ - n: 35 l: " return wrapper\n" m: "^^^^^^^^^^^^^^^^^^ " - n: 39 l: "def decorated_func():\n" m: ^^^^^^^^^^^^^^^^^^^^^^^ - n: 40 l: " \"\"\"Function with a decorator.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 41 l: " print(\"Inside decorated function\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 52 l: " def static_decorator(func):\n" m: " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" - n: 53 l: " \"\"\"Decorator for static methods.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 54 l: "\n" m: ^^ - n: 55 l: " def wrapper(*args, **kwargs):\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 56 l: " print(\"Static method decorator called\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 57 l: " return func(*args, **kwargs)\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 58 l: "\n" m: ^^ - n: 59 l: " return wrapper\n" m: "^^^^^^^^^^^^^^^^^^^^^^ " - n: 63 l: " def class_method(cls) -> None:\n" m: " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" - n: 64 l: " \"\"\"Class method.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 65 l: " cls.class_var += \" updated\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 66 l: " print(f\"Class variable is now {cls.class_var}\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 69 l: " def instance_method(self) -> None:\n" m: " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" - n: 70 l: " \"\"\"Instance method.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 71 l: " self.instance_var = \"Instance variable\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 72 l: " print(f\"Instance variable is {self.instance_var}\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 76 l: " def static_method() -> None:\n" m: " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" - n: 77 l: " \"\"\"Static method.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 78 l: " print(\"Inside static method\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 112 l: "def exception_handling(x) -> None:\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 113 l: " \"\"\"Function for testing exceptions.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 114 l: " try:\n" m: ^^^^^^^^^^ - n: 115 l: " if x < 0:\n" m: ^^^^^^^^^^^^^^^^^^^ - n: 116 l: " raise ValueError(\"Negative value\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 117 l: " elif x == 0:\n" m: ^^^^^^^^^^^^^^^^^^^^^^ - n: 118 l: " raise ZeroDivisionError(\"Division by zero\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 119 l: " result = 10 / x\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 120 l: " except ZeroDivisionError as e:\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 121 l: " print(f\"Caught an exception: {e}\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 122 l: " except ValueError as e:\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 123 l: " print(f\"Caught an exception: {e}\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 124 l: " else:\n" m: ^^^^^^^^^^^ - n: 125 l: " print(\"No exceptions caught\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 126 l: " finally:\n" m: ^^^^^^^^^^^^^^ - n: 127 l: " print(\"This will always be printed\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 131 l: "def modify_nonlocal():\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^ - n: 132 l: " \"\"\"Function demonstrating nonlocal statement.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 133 l: " nonlocal_var = \"Initial value\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 134 l: "\n" m: ^^ - n: 135 l: " def inner():\n" m: ^^^^^^^^^^^^^^^^^^ - n: 136 l: " nonlocal nonlocal_var\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 137 l: " nonlocal_var = \"Modified value\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 138 l: "\n" m: ^^ - n: 139 l: " inner()\n" m: ^^^^^^^^^^^^^ - n: 140 l: " print(f\"Nonlocal variable is {nonlocal_var}\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 143 l: "def inplace_operations():\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 144 l: " \"\"\"Function demonstrating inplace operators.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 145 l: " x = 10\n" m: ^^^^^^^^^^^^ - n: 146 l: " x += 5\n" m: ^^^^^^^^^^^^ - n: 147 l: " x -= 3\n" m: ^^^^^^^^^^^^ - n: 148 l: " x *= 2\n" m: ^^^^^^^^^^^^ - n: 149 l: " x /= 4\n" m: ^^^^^^^^^^^^ - n: 150 l: " print(f\"Inplace operations result: {x}\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 154 l: "def control_flow():\n" m: ^^^^^^^^^^^^^^^^^^^^^ - n: 155 l: " \"\"\"Function demonstrating various control flow statements.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 156 l: " # if statement\n" m: ^^^^^^^^^^^^^^^^^^^^ - n: 157 l: " if test_var > 5:\n" m: ^^^^^^^^^^^^^^^^^^^^^^ - n: 158 l: " print(\"test_var is greater than 5\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 159 l: " else:\n" m: ^^^^^^^^^^^ - n: 160 l: " print(\"test_var is 5 or less\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 161 l: "\n" m: ^^ - n: 162 l: " # while statement\n" m: ^^^^^^^^^^^^^^^^^^^^^^^ - n: 163 l: " counter = 0\n" m: ^^^^^^^^^^^^^^^^^ - n: 164 l: " while counter < 3:\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^ - n: 165 l: " print(f\"Counter is {counter}\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 166 l: " counter += 1\n" m: ^^^^^^^^^^^^^^^^^^^^^^ - n: 167 l: "\n" m: ^^ - n: 168 l: " # for statement\n" m: ^^^^^^^^^^^^^^^^^^^^^ - n: 169 l: " for i in range(3):\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^ - n: 170 l: " print(f\"Loop iteration {i}\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 171 l: "\n" m: ^^ - n: 172 l: " # with statement\n" m: ^^^^^^^^^^^^^^^^^^^^^^ - n: 173 l: " with open(__file__) as f:\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 174 l: " content = f.readline()\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 175 l: " print(\"Read from file:\", content)\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 179 l: "def match_statement(x):\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 180 l: " \"\"\"Function demonstrating match statement.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 181 l: " match x:\n" m: ^^^^^^^^^^^^^^ - n: 182 l: " case 0:\n" m: ^^^^^^^^^^^^^^^^^ - n: 183 l: " print(\"Zero\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 184 l: " case 1:\n" m: ^^^^^^^^^^^^^^^^^ - n: 185 l: " print(\"One\")\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 186 l: " case _:\n" m: ^^^^^^^^^^^^^^^^^ - n: 187 l: " print(\"Other\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^ " - n: 191 l: "async def async_function():\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 192 l: " \"\"\"Function demonstrating async syntax.\"\"\"\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 193 l: " await asyncio.sleep(1)\n" m: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - n: 194 l: " print(\"Async function executed\")\n" m: "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ "