@@ -270,6 +270,10 @@ def _in_count(edge_summary: dict[str, Any] | None, key: str) -> int:
270270 return int (cell .get ("in" , 0 ) or 0 )
271271
272272
273+ def _record_role (rec : dict [str , Any ]) -> str :
274+ return str ((rec .get ("data" ) or {}).get ("role" ) or rec .get ("role" ) or "" )
275+
276+
273277def _type_rollup_would_emit (edge_summary : dict [str , Any ] | None ) -> bool :
274278 return (
275279 _out_count (edge_summary , "DECLARES.DECLARES_CLIENT" ) > 0
@@ -1128,7 +1132,7 @@ def generate_hints(
11281132 "neighbors" , {"ids" : [node_id ], "direction" : "out" , "edge_types" : ["IMPLEMENTS" ]},
11291133 True , PRIORITY_LEAF_FOLLOWUP ,
11301134 ))
1131- if decl_kind == "class" and str (rec . get ( "data" , {}). get ( "role" ) or rec . get ( "role" ) or "" ) == "SERVICE" and _out_count (edge_summary , "INJECTS" ) > 0 :
1135+ if decl_kind == "class" and _record_role (rec ) == "SERVICE" and _out_count (edge_summary , "INJECTS" ) > 0 :
11321136 pairs .append ((PRIORITY_LEAF_FOLLOWUP , TPL_DESCRIBE_TYPE_DEPENDENCIES .format (id = node_id )))
11331137 struct_pairs .append (_StructuredHint (
11341138 "neighbors" , {"ids" : [node_id ], "direction" : "out" , "edge_types" : ["INJECTS" ]},
@@ -1194,19 +1198,15 @@ def generate_hints(
11941198 ))
11951199 calls_out = _out_count (edge_summary , "CALLS" )
11961200 if 1 <= calls_out <= 9 :
1197- method_role = str (( rec . get ( "data" ) or {}). get ( "role" ) or rec . get ( "role" ) or "" )
1201+ method_role = _record_role ( rec )
11981202 if method_role != "OTHER" or calls_out >= 3 :
11991203 pairs .append ((PRIORITY_LEAF_FOLLOWUP , TPL_DESCRIBE_METHOD_OUTBOUND_CALLS .format (id = node_id )))
12001204 struct_pairs .append (_StructuredHint (
12011205 "neighbors" , {"ids" : [node_id ], "direction" : "out" , "edge_types" : ["CALLS" ]},
12021206 True , PRIORITY_LEAF_FOLLOWUP ,
12031207 ))
12041208 if _out_count (edge_summary , "OVERRIDES" ) > 0 :
1205- override_axis_emits = any (
1206- _out_count (edge_summary , k ) > 0
1207- for k in ["OVERRIDDEN_BY" ] + [k for k in (edge_summary or {}) if k == "OVERRIDDEN_BY" or k .startswith ("OVERRIDDEN_BY." )]
1208- )
1209- if not override_axis_emits :
1209+ if _out_count (edge_summary , "OVERRIDDEN_BY" ) == 0 :
12101210 pairs .append ((PRIORITY_LEAF_FOLLOWUP , TPL_DESCRIBE_METHOD_SUPER_DECL .format (id = node_id )))
12111211 struct_pairs .append (_StructuredHint (
12121212 "neighbors" , {"ids" : [node_id ], "direction" : "out" , "edge_types" : ["OVERRIDES" ]},
0 commit comments