The compiler Sourcecode_Info api defines access to functionality for tracking the file from which a compilation unit was read.
The Sourcecode_Info api is implemented by the sourcecode_info package.
The Sourcecode_Info api source code is in src/lib/compiler/front/basics/source/sourcecode-info.api. The above information is manually maintained and may contain errors.
api { Sourcecode_Info = {error_consumer:standard_prettyprinter::Prettyprint_Output_Stream, file_opened:String, is_interactive:Bool, line_number_db:line_number_db::Sourcemap, saw_errors:Ref(Bool ), source_stream:Input_Stream}; make_sourcecode_info : {error_consumer:standard_prettyprinter::Prettyprint_Output_Stream, file_name:String, is_interactive:Bool, line_num:Int, source_stream:Input_Stream} -> Sourcecode_Info; close_source : Sourcecode_Info -> Void; filepos : Sourcecode_Info -> line_number_db::Charpos -> (String , Int , Int);};