1111
1212from include_analysis import IncludeAnalysisOutput , ParseError , parse_raw_include_analysis_output
1313from typing import Iterator , Tuple
14- from utils import create_graph_from_include_analysis
14+ from utils import create_graph_from_include_analysis , get_latest_include_analysis
1515
1616
1717def trace_transitive_include (
@@ -33,15 +33,22 @@ def main():
3333 parser .add_argument (
3434 "include_analysis_output" ,
3535 type = argparse .FileType ("r" ),
36+ nargs = "?" ,
3637 help = "The include analysis output to use." ,
3738 )
3839 parser .add_argument ("filename" , help = "File to start the trace from." )
3940 parser .add_argument ("header" , help = "Target header to trace to." )
4041 parser .add_argument ("--verbose" , action = "store_true" , default = False , help = "Enable verbose logging." )
4142 args = parser .parse_args ()
4243
44+ # If the user specified an include analysis output file, use that instead of fetching it
45+ if args .include_analysis_output :
46+ raw_include_analysis = args .include_analysis_output .read ()
47+ else :
48+ raw_include_analysis = get_latest_include_analysis ()
49+
4350 try :
44- include_analysis = parse_raw_include_analysis_output (args . include_analysis_output . read () )
51+ include_analysis = parse_raw_include_analysis_output (raw_include_analysis )
4552 except ParseError as e :
4653 message = str (e )
4754 print ("error: Could not parse include analysis output file" )
0 commit comments