From 0d3b8d234ddb17827b43b2b70f13e41747aaf3b8 Mon Sep 17 00:00:00 2001 From: Orual Date: Mon, 23 Feb 2026 22:59:17 -0500 Subject: [PATCH] fix: address code review feedback for Phase 3 - Issue I1: Remove unused imports (Union, Port, NameRef, PipelineStage, OpcodeCategory) from dfgraph/graph_json.py - Issue M1: Simplify redundant single-iteration loop in graph_to_json (lines 146-149) - Issue M2: Remove unused import RegionKind from tests/test_dfgraph_json.py - Issue M3: Replace conditional guard with proper assertion in test_error_structure --- dfgraph/graph_json.py | 17 ++++++++--------- tests/test_dfgraph_json.py | 9 ++++----- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/dfgraph/graph_json.py b/dfgraph/graph_json.py index c20ec92..188821f 100644 --- a/dfgraph/graph_json.py +++ b/dfgraph/graph_json.py @@ -6,18 +6,18 @@ errors, and metadata needed for both logical and physical views. from __future__ import annotations -from typing import Any, Union +from typing import Any -from cm_inst import Addr, Port +from cm_inst import Addr from asm.ir import ( IRGraph, IRNode, IREdge, IRRegion, RegionKind, - SourceLoc, NameRef, ResolvedDest, + SourceLoc, ResolvedDest, collect_all_nodes_and_edges, ) from asm.errors import AssemblyError from asm.opcodes import OP_TO_MNEMONIC -from dfgraph.pipeline import PipelineResult, PipelineStage -from dfgraph.categories import categorise, CATEGORY_COLOURS, OpcodeCategory +from dfgraph.pipeline import PipelineResult +from dfgraph.categories import categorise, CATEGORY_COLOURS def _serialise_loc(loc: SourceLoc) -> dict[str, Any]: @@ -143,10 +143,9 @@ def graph_to_json(result: PipelineResult) -> dict[str, Any]: ] regions_json = [] - for subgraph_regions in [graph.regions]: - for region in subgraph_regions: - if region.kind == RegionKind.FUNCTION: - regions_json.append(_serialise_region(region)) + for region in graph.regions: + if region.kind == RegionKind.FUNCTION: + regions_json.append(_serialise_region(region)) errors_json = [_serialise_error(e) for e in result.errors] diff --git a/tests/test_dfgraph_json.py b/tests/test_dfgraph_json.py index a731403..fe7f3aa 100644 --- a/tests/test_dfgraph_json.py +++ b/tests/test_dfgraph_json.py @@ -10,7 +10,6 @@ Tests verify: from dfgraph.graph_json import graph_to_json from dfgraph.pipeline import run_progressive, PipelineStage -from asm.ir import RegionKind class TestFullyAllocatedGraph: @@ -284,10 +283,10 @@ class TestJsonStructure: result = run_progressive(source) json_out = graph_to_json(result) - if len(json_out["errors"]) > 0: - error = json_out["errors"][0] - required_fields = {"line", "column", "category", "message", "suggestions"} - assert set(error.keys()) >= required_fields + assert len(json_out["errors"]) > 0, "Expected errors for undefined reference" + error = json_out["errors"][0] + required_fields = {"line", "column", "category", "message", "suggestions"} + assert set(error.keys()) >= required_fields def test_metadata_structure(self): """Metadata has all required fields.""" -- 2.51.2