SYMBOL INDEX (105 symbols across 3 files) FILE: src/com2ann.py class Options (line 43) | class Options: class RvalueKind (line 54) | class RvalueKind(Enum): class AssignData (line 64) | class AssignData: class ArgComment (line 85) | class ArgComment: class FunctionData (line 98) | class FunctionData: class FileData (line 110) | class FileData: method __init__ (line 113) | def __init__( class TypeCommentCollector (line 140) | class TypeCommentCollector(ast.NodeVisitor): method __init__ (line 147) | def __init__(self, silent: bool) -> None: method visit_Assign (line 155) | def visit_Assign(self, s: ast.Assign) -> None: method visit_For (line 191) | def visit_For(self, o: ast.For) -> None: method visit_AsyncFor (line 194) | def visit_AsyncFor(self, o: ast.AsyncFor) -> None: method visit_With (line 197) | def visit_With(self, o: ast.With) -> None: method visit_AsyncWith (line 200) | def visit_AsyncWith(self, o: ast.AsyncWith) -> None: method visit_unsupported (line 203) | def visit_unsupported(self, o: Unsupported) -> None: method visit_FunctionDef (line 208) | def visit_FunctionDef(self, fdef: ast.FunctionDef) -> None: method visit_AsyncFunctionDef (line 211) | def visit_AsyncFunctionDef(self, fdef: ast.AsyncFunctionDef) -> None: method visit_function_impl (line 214) | def visit_function_impl(self, fdef: Function) -> None: method process_per_arg_comments (line 272) | def process_per_arg_comments( method process_function_comment (line 328) | def process_function_comment( function split_sub_comment (line 383) | def split_sub_comment(comment: str) -> tuple[str, str | None]: function split_function_comment (line 402) | def split_function_comment( function strip_type_comment (line 455) | def strip_type_comment(line: str) -> str: function string_insert (line 484) | def string_insert(line: str, extra: str, pos: int) -> str: function process_assign (line 488) | def process_assign( function insert_arg_type (line 589) | def insert_arg_type(line: str, arg: ArgComment, seen: set[str]) -> str: function wrap_function_header (line 611) | def wrap_function_header(header: str) -> list[str]: function process_func_def (line 679) | def process_func_def(func_type: FunctionData, data: FileData, wrap_sig: ... function com2ann_impl (line 744) | def com2ann_impl( function check_target (line 784) | def check_target(assign: ast.Assign) -> bool: function com2ann (line 803) | def com2ann( function translate_file (line 872) | def translate_file(infile: str, outfile: str, options: Options) -> None: function parse_cli_args (line 914) | def parse_cli_args(args: Sequence[str] | None = None) -> dict[str, Any]: function rebase_path (line 1006) | def rebase_path( function process_single_entry (line 1016) | def process_single_entry( function main (line 1034) | def main() -> None: FILE: src/test_cli.py function test_path (line 14) | def test_path(tmp_path: pathlib.Path) -> Iterable[pathlib.Path]: class Exited (line 21) | class Exited(Exception): class ParseResult (line 25) | class ParseResult(TypedDict, total=False): function parse (line 37) | def parse( function test_parse_cli_args__minimal (line 69) | def test_parse_cli_args__minimal(parse: ParseCallable, test_path: pathli... function test_parse_cli_args__maximal (line 84) | def test_parse_cli_args__maximal(parse: ParseCallable, test_path: pathli... function test_parse_cli_args__no_infile (line 108) | def test_parse_cli_args__no_infile(parse: ParseCallable) -> None: function test_parse_cli_args__missing_file (line 114) | def test_parse_cli_args__missing_file(parse: ParseCallable) -> None: function test_parse_cli_args__in_out_type_mismatch (line 128) | def test_parse_cli_args__in_out_type_mismatch( function test_parse_cli_args__outfile_doesnt_exist (line 139) | def test_parse_cli_args__outfile_doesnt_exist( function test_parse_cli_args__multiple_inputs_and_output (line 148) | def test_parse_cli_args__multiple_inputs_and_output( function test_rebase_path (line 159) | def test_rebase_path() -> None: function options (line 168) | def options() -> com2ann.Options: function translate_file (line 173) | def translate_file(mocker: Any) -> Any: function test_process_single_entry__file (line 177) | def test_process_single_entry__file( function test_process_single_entry__dir (line 194) | def test_process_single_entry__dir( function parse_cli_args (line 223) | def parse_cli_args( function test_process_multiple_input_files (line 238) | def test_process_multiple_input_files( FILE: src/test_com2ann.py class BaseTestCase (line 11) | class BaseTestCase(unittest.TestCase): method check (line 13) | def check( class AssignTestCase (line 38) | class AssignTestCase(BaseTestCase): method test_basics (line 39) | def test_basics(self) -> None: method test_type_ignore (line 45) | def test_type_ignore(self) -> None: method test_complete_tuple (line 57) | def test_complete_tuple(self) -> None: method test_drop_None (line 66) | def test_drop_None(self) -> None: method test_drop_Ellipsis (line 71) | def test_drop_Ellipsis(self) -> None: method test_newline (line 76) | def test_newline(self) -> None: method test_wrong (line 80) | def test_wrong(self) -> None: method test_pattern (line 85) | def test_pattern(self) -> None: method test_uneven_spacing (line 91) | def test_uneven_spacing(self) -> None: method test_coding_kept (line 94) | def test_coding_kept(self) -> None: method test_multi_line_tuple_value (line 120) | def test_multi_line_tuple_value(self) -> None: method test_complex_targets (line 138) | def test_complex_targets(self) -> None: method test_multi_line_assign (line 155) | def test_multi_line_assign(self) -> None: method test_parenthesized_lhs (line 179) | def test_parenthesized_lhs(self) -> None: method test_literal_types (line 191) | def test_literal_types(self) -> None: method test_comment_on_separate_line (line 197) | def test_comment_on_separate_line(self) -> None: method test_continuation_using_parens (line 228) | def test_continuation_using_parens(self) -> None: method test_with_for (line 276) | def test_with_for(self) -> None: class FunctionTestCase (line 294) | class FunctionTestCase(BaseTestCase): method test_single (line 295) | def test_single(self) -> None: method test_async_single (line 317) | def test_async_single(self) -> None: method test_complex_kinds (line 339) | def test_complex_kinds(self) -> None: method test_self_argument (line 364) | def test_self_argument(self) -> None: method test_invalid_return_type (line 377) | def test_invalid_return_type(self) -> None: method test_combined_annotations_single (line 391) | def test_combined_annotations_single(self) -> None: method test_combined_annotations_multi (line 428) | def test_combined_annotations_multi(self) -> None: method test_literal_type (line 455) | def test_literal_type(self) -> None: method test_wrap_lines (line 472) | def test_wrap_lines(self) -> None: method test_wrap_lines_error_code (line 526) | def test_wrap_lines_error_code(self) -> None: method test_decorator_body (line 545) | def test_decorator_body(self) -> None: method test_keyword_only_args (line 585) | def test_keyword_only_args(self) -> None: method test_next_line_comment (line 610) | def test_next_line_comment(self) -> None: class LineReportingTestCase (line 639) | class LineReportingTestCase(BaseTestCase): method compare (line 640) | def compare(self, code: str, success: List[int], fail: List[int]) -> N... method test_simple_assign (line 647) | def test_simple_assign(self) -> None: method test_simple_function (line 656) | def test_simple_function(self) -> None: method test_unsupported_assigns (line 667) | def test_unsupported_assigns(self) -> None: method test_invalid_function_comments (line 678) | def test_invalid_function_comments(self) -> None: method test_confusing_function_comments (line 692) | def test_confusing_function_comments(self) -> None: method test_unsupported_statements (line 708) | def test_unsupported_statements(self) -> None: class ForAndWithTestCase (line 726) | class ForAndWithTestCase(BaseTestCase): method test_with (line 727) | def test_with(self) -> None: method test_for (line 739) | def test_for(self) -> None: method test_async_with (line 751) | def test_async_with(self) -> None: method test_async_for (line 763) | def test_async_for(self) -> None: class FutureImportTestCase (line 776) | class FutureImportTestCase(BaseTestCase): method test_added_future_import (line 777) | def test_added_future_import(self) -> None: method test_not_added_future_import (line 793) | def test_not_added_future_import(self) -> None: