Skip to content

Commit 761f1ba

Browse files
Merge pull request #155 from codeflash-ai/context-import-bug
Context import bug
2 parents 52abe7b + e6e8b54 commit 761f1ba

File tree

6 files changed

+1412
-34
lines changed

6 files changed

+1412
-34
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
import code_to_optimize.code_directories.retriever.main
3+
4+
def function_to_optimize():
5+
return code_to_optimize.code_directories.retriever.main.fetch_and_transform_data()

codeflash/context/code_context_extractor.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from codeflash.cli_cmds.console import logger
1515
from codeflash.code_utils.code_extractor import add_needed_imports_from_module, find_preexisting_objects
1616
from codeflash.code_utils.code_utils import get_qualified_name, path_belongs_to_site_packages
17+
from codeflash.context.unused_definition_remover import remove_unused_definitions_by_function_names
1718
from codeflash.discovery.functions_to_optimize import FunctionToOptimize
1819
from codeflash.models.models import (
1920
CodeContextType,
@@ -182,14 +183,16 @@ def extract_code_string_context_from_files(
182183
helpers_of_helpers_qualified_names = {
183184
func.qualified_name for func in helpers_of_helpers.get(file_path, set())
184185
}
186+
code_without_unused_defs = remove_unused_definitions_by_function_names(
187+
original_code, qualified_function_names | helpers_of_helpers_qualified_names
188+
)
185189
code_context = parse_code_and_prune_cst(
186-
original_code,
190+
code_without_unused_defs,
187191
code_context_type,
188192
qualified_function_names,
189193
helpers_of_helpers_qualified_names,
190194
remove_docstrings,
191195
)
192-
193196
except ValueError as e:
194197
logger.debug(f"Error while getting read-only code: {e}")
195198
continue
@@ -214,8 +217,9 @@ def extract_code_string_context_from_files(
214217
continue
215218
try:
216219
qualified_helper_function_names = {func.qualified_name for func in helper_function_sources}
220+
code_without_unused_defs = remove_unused_definitions_by_function_names(original_code, qualified_helper_function_names)
217221
code_context = parse_code_and_prune_cst(
218-
original_code, code_context_type, set(), qualified_helper_function_names, remove_docstrings
222+
code_without_unused_defs, code_context_type, set(), qualified_helper_function_names, remove_docstrings
219223
)
220224
except ValueError as e:
221225
logger.debug(f"Error while getting read-only code: {e}")
@@ -283,8 +287,11 @@ def extract_code_markdown_context_from_files(
283287
helpers_of_helpers_qualified_names = {
284288
func.qualified_name for func in helpers_of_helpers.get(file_path, set())
285289
}
290+
code_without_unused_defs = remove_unused_definitions_by_function_names(
291+
original_code, qualified_function_names | helpers_of_helpers_qualified_names
292+
)
286293
code_context = parse_code_and_prune_cst(
287-
original_code,
294+
code_without_unused_defs,
288295
code_context_type,
289296
qualified_function_names,
290297
helpers_of_helpers_qualified_names,
@@ -318,8 +325,9 @@ def extract_code_markdown_context_from_files(
318325
continue
319326
try:
320327
qualified_helper_function_names = {func.qualified_name for func in helper_function_sources}
328+
code_without_unused_defs = remove_unused_definitions_by_function_names(original_code, qualified_helper_function_names)
321329
code_context = parse_code_and_prune_cst(
322-
original_code, code_context_type, set(), qualified_helper_function_names, remove_docstrings
330+
code_without_unused_defs, code_context_type, set(), qualified_helper_function_names, remove_docstrings
323331
)
324332
except ValueError as e:
325333
logger.debug(f"Error while getting read-only code: {e}")

0 commit comments

Comments
 (0)