Skip to content

Commit 0b78af1

Browse files
committed
go fish
1 parent 4a15907 commit 0b78af1

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

codeflash/code_utils/coverage_utils.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,18 @@ def extract_dependent_function(main_function: str, code_context: CodeOptimizatio
2525
if len(dependent_functions) != 1:
2626
return False
2727

28-
return dependent_functions.pop()
28+
return build_fully_qualified_name(dependent_functions.pop(), code_context)
29+
30+
31+
def build_fully_qualified_name(function_name: str, code_context: CodeOptimizationContext) -> str:
32+
full_name = function_name
33+
for obj_name, parents in code_context.preexisting_objects:
34+
if obj_name == function_name:
35+
for parent in parents:
36+
if parent.type == "ClassDef":
37+
full_name = f"{parent.name}.{full_name}"
38+
break
39+
return full_name
2940

3041

3142
def generate_candidates(source_code_path: Path) -> list[str]:

codeflash/models/models.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@
1616

1717
from codeflash.cli_cmds.console import console, logger
1818
from codeflash.code_utils.code_utils import validate_python_code
19-
from codeflash.code_utils.coverage_utils import extract_dependent_function, generate_candidates
19+
from codeflash.code_utils.coverage_utils import (
20+
build_fully_qualified_name,
21+
extract_dependent_function,
22+
generate_candidates,
23+
)
2024
from codeflash.code_utils.env_utils import is_end_to_end
2125
from codeflash.verification.test_results import TestResults, TestType
2226

@@ -322,18 +326,19 @@ def _fetch_function_coverages(
322326
coverage_data: dict[str, dict[str, Any]],
323327
original_cov_data: dict[str, dict[str, Any]],
324328
) -> tuple[FunctionCoverage, Union[FunctionCoverage, None]]:
329+
resolved_name = build_fully_qualified_name(function_name, code_context)
325330
try:
326331
main_function_coverage = FunctionCoverage(
327-
name=function_name,
328-
coverage=coverage_data[function_name]["summary"]["percent_covered"],
329-
executed_lines=coverage_data[function_name]["executed_lines"],
330-
unexecuted_lines=coverage_data[function_name]["missing_lines"],
331-
executed_branches=coverage_data[function_name]["executed_branches"],
332-
unexecuted_branches=coverage_data[function_name]["missing_branches"],
332+
name=resolved_name,
333+
coverage=coverage_data[resolved_name]["summary"]["percent_covered"],
334+
executed_lines=coverage_data[resolved_name]["executed_lines"],
335+
unexecuted_lines=coverage_data[resolved_name]["missing_lines"],
336+
executed_branches=coverage_data[resolved_name]["executed_branches"],
337+
unexecuted_branches=coverage_data[resolved_name]["missing_branches"],
333338
)
334339
except KeyError:
335340
main_function_coverage = FunctionCoverage(
336-
name=function_name,
341+
name=resolved_name,
337342
coverage=0,
338343
executed_lines=[],
339344
unexecuted_lines=[],

0 commit comments

Comments
 (0)