@@ -457,35 +457,40 @@ def _process_diff_files(self, files_to_sync: Mapping[SyncType, list[Path]], incr
457457 # Step 8: Add internal import resolution edges for new and updated files
458458 if not skip_uncache :
459459 uncache_all ()
460- self ._computing = True
461- try :
462- logger .info (f"> Computing import resolution edges for { counter [NodeType .IMPORT ]} imports" )
463- for node in to_resolve :
464- if node .node_type == NodeType .IMPORT :
465- node ._remove_internal_edges (EdgeType .IMPORT_SYMBOL_RESOLUTION )
466- node .add_symbol_resolution_edge ()
467- to_resolve .extend (node .symbol_usages )
468- if counter [NodeType .EXPORT ] > 0 :
469- logger .info (f"> Computing export dependencies for { counter [NodeType .EXPORT ]} exports" )
460+
461+ if self .config .feature_flags .disable_graph :
462+ logger .warning ("Graph generation is disabled. Skipping import and symbol resolution" )
463+ self ._computing = False
464+ else :
465+ self ._computing = True
466+ try :
467+ logger .info (f"> Computing import resolution edges for { counter [NodeType .IMPORT ]} imports" )
470468 for node in to_resolve :
471- if node .node_type == NodeType .EXPORT :
472- node ._remove_internal_edges (EdgeType .EXPORT )
473- node .compute_export_dependencies ()
469+ if node .node_type == NodeType .IMPORT :
470+ node ._remove_internal_edges (EdgeType .IMPORT_SYMBOL_RESOLUTION )
471+ node .add_symbol_resolution_edge ()
474472 to_resolve .extend (node .symbol_usages )
475- if counter [NodeType .SYMBOL ] > 0 :
476- from codegen .sdk .core .interfaces .inherits import Inherits
477-
478- logger .info ("> Computing superclass dependencies" )
479- for symbol in to_resolve :
480- if isinstance (symbol , Inherits ):
481- symbol ._remove_internal_edges (EdgeType .SUBCLASS )
482- symbol .compute_superclass_dependencies ()
483-
484- if not skip_uncache :
485- uncache_all ()
486- self ._compute_dependencies (to_resolve , incremental )
487- finally :
488- self ._computing = False
473+ if counter [NodeType .EXPORT ] > 0 :
474+ logger .info (f"> Computing export dependencies for { counter [NodeType .EXPORT ]} exports" )
475+ for node in to_resolve :
476+ if node .node_type == NodeType .EXPORT :
477+ node ._remove_internal_edges (EdgeType .EXPORT )
478+ node .compute_export_dependencies ()
479+ to_resolve .extend (node .symbol_usages )
480+ if counter [NodeType .SYMBOL ] > 0 :
481+ from codegen .sdk .core .interfaces .inherits import Inherits
482+
483+ logger .info ("> Computing superclass dependencies" )
484+ for symbol in to_resolve :
485+ if isinstance (symbol , Inherits ):
486+ symbol ._remove_internal_edges (EdgeType .SUBCLASS )
487+ symbol .compute_superclass_dependencies ()
488+
489+ if not skip_uncache :
490+ uncache_all ()
491+ self ._compute_dependencies (to_resolve , incremental )
492+ finally :
493+ self ._computing = False
489494
490495 def _compute_dependencies (self , to_update : list [Importable ], incremental : bool ):
491496 seen = set ()
0 commit comments