Fetches source information for the given clause. File is the
file from which the clause was loaded. TermPos describes the
source layout in a format compatible to the subterm_positions
option of read_term/2. VarOffsets provides access to the
variable allocation in a stack-frame. See make_varnames/5 for
details.
Note that positions are character positions, i.e., not
bytes. Line endings count as a single character, regardless of
whether the actual ending is \n
or =|\r\n|_.
Defined options are:
- variable_names(-Names)
- Unify Names with the variable names list (Name=Var) as
returned by read_term/3. This argument is intended for
reporting source locations and refactoring based on
analysis of the compiled code.
Hook into clause_info/5 that opens the stream holding the source
for a specific clause. Thus, the query must succeed. The default
implementation calls open/3 on the File property.
clause_property(ClauseRef, file(File)),
prolog_clause:open_source(File, Stream)
Fetches source information for the given clause. File is the
file from which the clause was loaded. TermPos describes the
source layout in a format compatible to the subterm_positions
option of read_term/2. VarOffsets provides access to the
variable allocation in a stack-frame. See make_varnames/5 for
details.
Note that positions are character positions, i.e., not
bytes. Line endings count as a single character, regardless of
whether the actual ending is \n
or =|\r\n|_.
Defined options are:
- variable_names(-Names)
- Unify Names with the variable names list (Name=Var) as
returned by read_term/3. This argument is intended for
reporting source locations and refactoring based on
analysis of the compiled code.