A.40 library(prolog_xref): Prolog cross-referencer data collection
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(prolog_xref): Prolog cross-referencer data collection
          • called_by/4
          • called_by/2
          • meta_goal/2
          • hook/1
          • xref_source/1
          • xref_source/2
          • xref_clean/1
          • xref_current_source/1
          • xref_done/2
          • xref_called/3
          • xref_called/4
          • xref_called/5
          • xref_defined/3
          • xref_definition_line/2
          • xref_exported/2
          • xref_module/2
          • xref_uses_file/3
          • xref_op/2
          • xref_prolog_flag/4
          • xref_comment/3
          • xref_comment/4
          • xref_mode/3
          • xref_option/2
          • xref_meta/3
          • xref_meta/2
          • xref_meta_src/3
          • xref_hook/1
          • xref_public_list/3
          • xref_public_list/4
          • xref_public_list/6
          • xref_public_list/7
          • xref_source_file/3
          • xref_source_file/4
    • Packages
Availability::- use_module(library(prolog_xref)).(can be autoloaded)
Source[nondet]xref_called(?Source, ?Called, ?By)
[nondet]xref_called(?Source, ?Called, ?By, ?Cond)
[nondet]xref_called(?Source, ?Called, ?By, ?Cond, ?Line)
True when By is called from Called in Source. Note that xref_called/3 and xref_called/4 use distinct/2 to return only distinct Called-By pairs. The xref_called/5 version may return duplicate Called-By if Called is called from multiple clauses in By, but at most one call per clause.
By is a head term or one of the reserved terms '<directive>'(Line) or '<public>'(Line), indicating the call is from an (often initialization/1) directive or there is a public/1 directive that claims the predicate is called from in some untractable way.
Cond is the (accumulated) condition as defined by :- if(Cond) under which the calling code is compiled.
Line is the start line of the calling clause.