Public API
Numbat
provides a class SourcetrailDB
created to be easily used by external projects to create Sourcetrail projects. It provides methods to:
- manage the database file;
- record symbols (according to their types);
- customize symbols;
- record references (links) between symbols;
- record a file and information related to the source code it contained.
numbat.SourcetrailDB
Wrapper to Sourcetrail internal database.
It is able to create, edit and delete the underlying sqlite3 database used by Sourcetrail.
exists
classmethod
Check if there is a Sourcetrail db with the given path.
If the provided path does not end with the sourcetrail db correct suffix. It will be added.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
Path | str
|
The path to test |
required |
Returns:
Type | Description |
---|---|
bool
|
a bool |
open
classmethod
Open an existing sourcetrail database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
Path | str
|
The path to the existing database |
required |
clear
|
bool
|
If set to True the database is cleared (Optional) |
False
|
Returns:
Type | Description |
---|---|
SourcetrailDB
|
the SourcetrailDB object corresponding to the given DB |
create
classmethod
Create a sourcetrail database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
Path | str
|
The path to the new database |
required |
Returns:
Type | Description |
---|---|
SourcetrailDB
|
the SourcetrailDB object corresponding to the given DB path |
commit
Commit changes made to a sourcetrail database.
Any change made to the database using this API will be lost if not committed before closing the database.
Returns:
Type | Description |
---|---|
None
|
None |
close
Close a sourcetrail database.
The database must be closed after use in order to liberate memory and resources allocated for it.
Returns:
Type | Description |
---|---|
None
|
None |
record_symbol_node
record_symbol_node(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a "SYMBOL" symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_type_node
record_type_node(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a TYPE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_buitin_type_node
record_buitin_type_node(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a BUILTIN_TYPE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_module
record_module(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a MODULE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_namespace
record_namespace(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a NAMESPACE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_package
record_package(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a PACKAGE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_struct
record_struct(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a STRUCT symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_class
record_class(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a CLASS symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_interface
record_interface(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a INTERFACE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_annotation
record_annotation(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a ANNOTATION symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_global_variable
record_global_variable(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a GLOBAL_VARIABLE symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_field
record_field(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a FIELD symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_function
record_function(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a FUNCTION symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_method
record_method(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a METHOD symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_enum
record_enum(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a ENUM symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_enum_constant
record_enum_constant(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a ENUM_CONSTANT symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_typedef_node
record_typedef_node(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a TYPEDEF symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_type_parameter_node
record_type_parameter_node(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a TYPE_PARAMETER symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_macro
record_macro(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a MACRO symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_union
record_union(
name="",
prefix="",
postfix="",
delimiter=NAME_DELIMITER_CXX,
parent_id=None,
is_indexed=True,
hover_display="",
)
Record a UNION symbol into the DB.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the element to insert |
''
|
prefix
|
str
|
The prefix of the element to insert |
''
|
postfix
|
str
|
The postfix of the element to insert |
''
|
delimiter
|
str
|
The delimiter of the element, if the element has a parent, it will not be taken into account as the parent delimiter will be used |
NAME_DELIMITER_CXX
|
parent_id
|
int | None
|
The identifier of the class in which the method is defined. |
None
|
is_indexed
|
bool
|
if the element is explicit or non-indexed |
True
|
hover_display
|
str
|
the display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int | None
|
The identifier of the new class or None if it could not be inserted |
record_public_access
Record the public
access specifier for a symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol to update |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_private_access
Record the private
access specifier for a symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol to update |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_protected_access
Record the protected
access specifier for a symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol to update |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_default_access
Record the default
access specifier for a symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol to update |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_template_parameter_access
Record the template parameter
access specifier for a symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol to update |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_type_parameter_access
Record the type parameter
access specifier for a symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol to update |
required |
Returns:
Type | Description |
---|---|
None
|
None |
set_node_type
Change the display text of a node type.
Allowed values for node types: annotation
built-in type
class
enum
enum constant
field
file
function
global variable
interface
macro
method
module
namespace
package
struct
symbol
type
type parameter
typedef
union
Parameters:
Name | Type | Description | Default |
---|---|---|---|
type_to_change
|
str
|
The node type to update |
required |
graph_display
|
str
|
The display text in the Sourcetrail graph |
''
|
hover_display
|
str
|
The display text when hovering over a node |
''
|
change_node_color
change_node_color(
node_id,
fill_color="default",
border_color="default",
text_color="default",
icon_color="default",
hatching_color="default",
)
Change the color of a node.
Supported values for colors: RGB hex code (e.g. #AABBCC), SVG color keyword
Parameters:
Name | Type | Description | Default |
---|---|---|---|
node_id
|
int
|
Id of the node to change |
required |
fill_color
|
str
|
Color of the node body |
'default'
|
border_color
|
str
|
Color of the border |
'default'
|
text_color
|
str
|
Color of the node text |
'default'
|
icon_color
|
str
|
Color of the node icon (if applicable) |
'default'
|
hatching_color
|
str
|
Color of the node hatching (if applicable) |
'default'
|
Returns:
Type | Description |
---|---|
None
|
None |
change_edge_color
Change the color of an edge.
Supported values for colors: RGB hex code (e.g. #AABBCC), SVG color keyword
Parameters:
Name | Type | Description | Default |
---|---|---|---|
edge_id
|
int
|
Id of the edge to change |
required |
color
|
str
|
RGB hex code or name of the edge's new color |
required |
Returns:
Type | Description |
---|---|
None
|
None |
set_custom_command
Add a custom command to a node's context menu.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
node_id
|
int
|
Id of the node to add the custom command to |
required |
command
|
list
|
List containing the command to execute and its arguments |
required |
description
|
str
|
Description of the command |
required |
Returns:
Type | Description |
---|---|
None
|
None |
associate_file_to_node
Copy a file to the project directory and link it to a node.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
node_id
|
int
|
Id of the node to link |
required |
file
|
Path
|
Path to the file to link |
required |
display_content
|
bool
|
Whether the file content should be displayed or not |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_ref_member
Add a member reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_type_usage
Add a TYPE_USAGE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_usage
Add a USAGE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_call
Add a CALL reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_inheritance
Add an INHERITANCE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_override
Add an OVERRIDE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_type_argument
Add a TYPE_ARGUMENT reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_template_specialization
Add a TEMPLATE_SPECIALIZATION reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_include
Add an INCLUDE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_import
Add an import reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier (who imports) |
required |
dest_id
|
int
|
The destination identifier (who is imported) |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_bundled_edges
Add a BUNDLED_EDGES reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_macro_usage
Add a MACRO_USAGE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_ref_annotation_usage
Add an ANNOTATION_USAGE reference (aka an edge) between two elements.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source_id
|
int
|
The source identifier |
required |
dest_id
|
int
|
The destination identifier |
required |
hover_display
|
str
|
The display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
the reference id |
record_reference_to_unsolved_symbol
record_reference_to_unsolved_symbol(
symbol_id,
reference_type,
file_id,
start_line,
start_column,
end_line,
end_column,
hover_display="",
)
Record a reference to an unsolved symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
reference_type
|
EdgeType
|
The type of reference |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
hover_display
|
str
|
the display text when hovering over the edge |
''
|
Returns:
Type | Description |
---|---|
int
|
The identifier of the new reference |
record_reference_is_ambiguous
Add an indication in the database to tell that the reference is ambiguous.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
reference_id
|
int
|
the identifier of the reference |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_file
Record a source file in the database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
path
|
Path
|
The path to the existing source file |
required |
indexed
|
bool
|
A boolean that indicates if the source file was indexed by the parser |
True
|
hover_display
|
str
|
The display text when hovering over the node |
''
|
Returns:
Type | Description |
---|---|
int
|
The identifier of the inserted file |
record_file_language
Set the language of an existing file inside the database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
id_
|
int
|
The identifier of the file |
required |
language
|
str
|
A string that indicate the programming language of the file |
required |
Returns:
Type | Description |
---|---|
None
|
None |
record_symbol_location
Record a new source location of type TOKEN.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_symbol_scope_location
Record a new source location of type SCOPE.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_symbol_signature_location
record_symbol_signature_location(
symbol_id, file_id, start_line, start_column, end_line, end_column
)
Record a new source location of type SCOPE.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_reference_location
Record a new reference location of type TOKEN.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
reference_id
|
int
|
The reference identifier |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_qualifier_location
Record a new source location of type QUALIFIER.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_local_symbol
Record a new local symbol.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
The name of the new local symbol |
required |
Returns:
Type | Description |
---|---|
int
|
The identifier of the new local symbol |
record_local_symbol_location
Record a new source location of type LOCAL_SYMBOL.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_atomic_source_range
Record a new source location of type ATOMIC_RANGE.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
symbol_id
|
int
|
The identifier of the symbol |
required |
file_id
|
int
|
The identifier of the source file in which the symbol is located |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
int
|
None |
record_error
Record a new indexer error in the database.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
msg
|
str
|
The description of the error |
required |
fatal
|
bool
|
A boolean indicating if the error stop the execution of the parser |
required |
file_id
|
int
|
The identifier of the source file being parsed |
required |
start_line
|
int
|
The line at which the element starts. |
required |
start_column
|
int
|
The column at which the element starts. |
required |
end_line
|
int
|
The line at which the element ends. |
required |
end_column
|
int
|
The line at which the element ends. |
required |
Returns:
Type | Description |
---|---|
None
|
None |