Skip to content

Commit 547c02e

Browse files
committed
refactor: move context extraction modules to languages/python/context/
Move code_context_extractor.py and unused_definition_remover.py from codeflash/context/ to codeflash/languages/python/context/ and update all import sites.
1 parent fa00422 commit 547c02e

16 files changed

Lines changed: 34 additions & 31 deletions
File renamed without changes.

codeflash/context/code_context_extractor.py renamed to codeflash/languages/python/context/code_context_extractor.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414
from codeflash.code_utils.code_extractor import add_needed_imports_from_module, find_preexisting_objects
1515
from codeflash.code_utils.code_utils import encoded_tokens_len, get_qualified_name, path_belongs_to_site_packages
1616
from codeflash.code_utils.config_consts import OPTIMIZATION_CONTEXT_TOKEN_LIMIT, TESTGEN_CONTEXT_TOKEN_LIMIT
17-
from codeflash.context.unused_definition_remover import (
17+
from codeflash.discovery.functions_to_optimize import FunctionToOptimize # noqa: TC001
18+
19+
# Language support imports for multi-language code context extraction
20+
from codeflash.languages import Language, is_python
21+
from codeflash.languages.python.context.unused_definition_remover import (
1822
collect_top_level_defs_with_usages,
1923
extract_names_from_targets,
2024
get_section_names,
2125
remove_unused_definitions_by_function_names,
2226
)
23-
from codeflash.discovery.functions_to_optimize import FunctionToOptimize # noqa: TC001
24-
25-
# Language support imports for multi-language code context extraction
26-
from codeflash.languages import Language, is_python
2727
from codeflash.models.models import (
2828
CodeContextType,
2929
CodeOptimizationContext,
@@ -38,8 +38,8 @@
3838

3939
from jedi.api.classes import Name
4040

41-
from codeflash.context.unused_definition_remover import UsageInfo
4241
from codeflash.languages.base import HelperFunction
42+
from codeflash.languages.python.context.unused_definition_remover import UsageInfo
4343

4444
# Error message constants
4545
READ_WRITABLE_LIMIT_ERROR = "Read-writable code has exceeded token limit, cannot proceed"

codeflash/context/unused_definition_remover.py renamed to codeflash/languages/python/context/unused_definition_remover.py

File renamed without changes.

codeflash/optimization/function_optimizer.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,18 @@
7272
from codeflash.code_utils.shell_utils import make_env_with_project_root
7373
from codeflash.code_utils.static_analysis import get_first_top_level_function_or_method_ast
7474
from codeflash.code_utils.time_utils import humanize_runtime
75-
from codeflash.context import code_context_extractor
76-
from codeflash.context.unused_definition_remover import detect_unused_helper_functions, revert_unused_helper_functions
7775
from codeflash.discovery.functions_to_optimize import was_function_previously_optimized
7876
from codeflash.either import Failure, Success, is_successful
7977
from codeflash.languages import is_python
8078
from codeflash.languages.base import Language
8179
from codeflash.languages.current import current_language_support, is_typescript
8280
from codeflash.languages.javascript.module_system import detect_module_system
8381
from codeflash.languages.javascript.test_runner import clear_created_config_files, get_created_config_files
82+
from codeflash.languages.python.context import code_context_extractor
83+
from codeflash.languages.python.context.unused_definition_remover import (
84+
detect_unused_helper_functions,
85+
revert_unused_helper_functions,
86+
)
8487
from codeflash.lsp.helpers import is_LSP_enabled, report_to_markdown_table, tree_to_markdown
8588
from codeflash.lsp.lsp_message import LspCodeMessage, LspMarkdownMessage, LSPMessageId
8689
from codeflash.models.ExperimentMetadata import ExperimentMetadata

tests/benchmarks/test_benchmark_code_extract_code_context.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from argparse import Namespace
22
from pathlib import Path
33

4-
from codeflash.context.code_context_extractor import get_code_optimization_context
54
from codeflash.discovery.functions_to_optimize import FunctionToOptimize
5+
from codeflash.languages.python.context.code_context_extractor import get_code_optimization_context
66
from codeflash.models.models import FunctionParent
77
from codeflash.optimization.optimizer import Optimizer
88

tests/test_code_context_extractor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010

1111
from codeflash.code_utils.code_extractor import GlobalAssignmentCollector, add_global_assignments
1212
from codeflash.code_utils.code_replacer import replace_functions_and_add_imports
13-
from codeflash.context.code_context_extractor import (
13+
from codeflash.discovery.functions_to_optimize import FunctionToOptimize
14+
from codeflash.languages.python.context.code_context_extractor import (
1415
collect_names_from_annotation,
1516
enrich_testgen_context,
1617
extract_classes_from_type_hint,
1718
extract_imports_for_class,
1819
get_code_optimization_context,
1920
resolve_transitive_type_deps,
2021
)
21-
from codeflash.discovery.functions_to_optimize import FunctionToOptimize
2222
from codeflash.models.models import CodeString, CodeStringsMarkdown, FunctionParent
2323
from codeflash.optimization.optimizer import Optimizer
2424

tests/test_get_read_only_code.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44

5-
from codeflash.context.code_context_extractor import parse_code_and_prune_cst
5+
from codeflash.languages.python.context.code_context_extractor import parse_code_and_prune_cst
66
from codeflash.models.models import CodeContextType
77

88

tests/test_get_read_writable_code.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44

5-
from codeflash.context.code_context_extractor import parse_code_and_prune_cst
5+
from codeflash.languages.python.context.code_context_extractor import parse_code_and_prune_cst
66
from codeflash.models.models import CodeContextType
77

88

tests/test_get_testgen_code.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44

5-
from codeflash.context.code_context_extractor import parse_code_and_prune_cst
5+
from codeflash.languages.python.context.code_context_extractor import parse_code_and_prune_cst
66
from codeflash.models.models import CodeContextType
77

88

tests/test_languages/test_code_context_extraction.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@
2020

2121
from __future__ import annotations
2222

23-
from pathlib import Path
24-
2523
import pytest
2624

27-
from codeflash.context.code_context_extractor import get_code_optimization_context_for_language
2825
from codeflash.discovery.functions_to_optimize import FunctionToOptimize
2926
from codeflash.languages.base import Language
3027
from codeflash.languages.javascript.support import JavaScriptSupport, TypeScriptSupport
28+
from codeflash.languages.python.context.code_context_extractor import get_code_optimization_context_for_language
3129

3230

3331
@pytest.fixture

0 commit comments

Comments
 (0)