View Source on Github
Inherits from
Usable, HasBlock, File, Importable, Expression, Editable, HasNameAttributes
classes
Returns all Classes in the file.
code_block
Represents the block of code contained in the file.
content
Returns the content of the file as a UTF-8 encoded string.
decorators
Returns list of all decorators on this Symbol.
directory
Returns the directory that contains this file.
docstring
Retrieves the docstring of the expression.
extended
Returns a SymbolGroup of all extended nodes associated with this element.
extended_source
Returns the source text representation of all extended nodes.
extension
Returns the file extension.
file
A property that returns the file object for non-source files.
file_path
The relative file path as a string.
filepath
Retrieves the file path of the file that this Editable instance belongs to.
full_name
Returns the full name of the object, including the namespace path.
function_calls
Returns all function calls within the code block and its decorators.
functions
Returns all Functions in the file.
global_vars
Returns all GlobalVars in the file.
import_module_name
Returns the module name that this file gets imported as.
import_statements
Returns all ImportStatements in the file, where each import statement can contain
importers
Returns all imports that directly imports this file as a module.
imports
List of all Imports in this file.
inbound_imports
Returns all imports that are importing symbols contained in this file.
is_binary
Indicates whether the file contains binary data.
is_decorated
Check if the symbol has decorators.
name
Retrieves the base name of the object without namespace prefixes.
owners
Returns the CODEOWNERS of the file.
parent
The parent node of this Editable instance.
parent_class
Find the class this node is contained in
parent_function
Find the function this node is contained in
parent_statement
Find the statement this node is contained in
path
The absolute path of the file as a Path object.
resolved_value
Returns the resolved type of an Expression.
source
Text representation of the Editable instance.
start_byte
Returns the starting byte position of a file in its content.
symbols_sorted_topologically
Returns all Symbols in the file, sorted topologically (parents first). Robust to
variable_usages
Returns Editables for all TreeSitter node instances of variable usages within this node's
Methods
add_decorator
Adds a decorator to a function or method.View Source on Github
Parameters
new_decorator
required
skip_if_exists
default:False
Returns
True if the decorator was added, False if skipped.
add_import
Adds an import to the file.View Source on Github
Parameters
imp
required
alias
default:None
import_type
default:ImportType.UNKNOWN
is_type_import
default:False
Returns
The existing import for the symbol if found, otherwise None.
add_symbol
Addssymbol to the file.
View Source on Github
Parameters
symbol
required
should_export
default:True
Returns
The existing symbol if it already exists in the file or None if it was added.
add_symbol_from_source
Adds a symbol to a file from a string representation.View Source on Github
Parameters
source
required
Returns
The symbol is added directly to the file's content.
ancestors
Find all ancestors of the node of the given type. Does not return itselfView Source on Github
Returns
dependencies
Returns a list of symbols that this symbol depends on.View Source on Github
Parameters
usage_types
default:UsageType.DIRECT
max_depth
default:None
Returns
A list of symbols and imports that this symbol depends on, sorted by file location.
edit
Replace the source of this file with new_src.View Source on Github
Parameters
new_src
required
fix_indentation
default:False
priority
default:0
dedupe
default:True
Returns
find
Find and return matching nodes or substrings within an Editable instance.View Source on Github
Parameters
strings_to_match
required
exact
default:False
Returns
A list of Editable instances that match the search criteria.
find_by_byte_range
Finds all editable objects that overlap with the given byte range in the file.View Source on Github
Parameters
range
required
Returns
A list of all Editable objects that overlap with the given range.
find_string_literals
Returns a list of string literals within this node’s source that match any of the givenView Source on Github
Parameters
strings_to_match
required
fuzzy_match
default:False
Returns
A list of Editable objects representing the matching string literals.
flag
Adds a visual flag comment to the end of this Editable’s source text.View Source on Github
Returns
get_class
Returns a specific Class by full name. Returns None if not found.View Source on Github
Parameters
name
required
Returns
The matching Class object if found, None otherwise.
get_function
Returns a specific Function by name.View Source on Github
Parameters
name
required
Returns
The matching Function object if found, None otherwise.
get_global_var
Returns a specific global var by name. Returns None if not found.View Source on Github
Parameters
name
required
Returns
The global variable if found, None otherwise.
get_import
Returns the import with matching alias. Returns None if not found.View Source on Github
Parameters
symbol_alias
required
Returns
The import statement with the matching alias if found, None otherwise.
get_name
Returns the name node of the object.View Source on Github
Returns
The name node of the object. Can be a Name node for simple names, a ChainedAttribute for names with namespaces (e.g., a.b), or None if the object has no name.
get_symbol
Gets a symbol by its name from the file.View Source on Github
Parameters
name
required
Returns
The found symbol, or None if not found.
get_variable_usages
Returns Editables for all TreeSitter nodes corresponding to instances of variable usageView Source on Github
Parameters
var_name
required
fuzzy_match
default:False
Returns
List of Editable objects representing variable usage nodes matching the given name.
has_import
Returns True if the file has an import with the given alias.View Source on Github
Parameters
symbol_alias
required
Returns
True if an import with the given alias exists, False otherwise.
insert_after
Inserts code after this node.View Source on Github
Parameters
new_src
required
fix_indentation
default:False
newline
default:True
priority
default:0
dedupe
default:True
Returns
insert_before
Inserts text before this node’s source with optional indentation and newline handling.View Source on Github
Parameters
new_src
required
fix_indentation
default:False
newline
default:True
priority
default:0
dedupe
default:True
Returns
is_wrapped_in
Check if this node is contained another node of the given classView Source on Github
Returns
parent_of_type
Find the first ancestor of the node of the given type. Does not return itselfView Source on Github
Returns
parent_of_types
Find the first ancestor of the node of the given type. Does not return itselfView Source on Github
Returns
reduce_condition
Reduces an editable to the following conditionView Source on Github
Returns
remove
Removes the file from the file system and graph.View Source on Github
Returns
remove_unused_exports
Removes unused exports from the file.View Source on Github
Returns
rename
Renames a symbol and updates all its references in the codebase.View Source on Github
Parameters
new_name
required
priority
default:0
Returns
A tuple containing the file node ID and the new node ID of the renamed symbol.
replace
Replace occurrences of text in the file.View Source on Github
Parameters
old
required
new
required
count
default:-1
is_regex
default:False
priority
default:0
Returns
List of affected Editable objects. For non-source files, always returns an empty list since they don't have Editable sub-components.
search
Returns a list of all regex match ofregex_pattern, similar to python’s re.search().
View Source on Github
Parameters
regex_pattern
required
include_strings
default:True
include_comments
default:True
Returns
A list of Editable objects corresponding to the matches found.
set_docstring
Sets or updates the docstring for the current entity.View Source on Github
Parameters
docstring
required
Returns
This method doesn't return anything.
set_name
Sets the name of a code element.View Source on Github
Parameters
name
required
Returns
symbol_can_be_added
Checks if the file type supports adding the given symbol.View Source on Github
Parameters
symbol
required
Returns
True if the symbol can be added to this file type, False otherwise.
symbol_usages
Returns a list of symbols that use or import the exportable object.View Source on Github
Parameters
usage_types
default:None
Returns
A list of symbols that use or import the exportable object.
symbols
Returns all Symbols in the file, sorted by position in the file.View Source on Github
Returns
A list of all top-level symbols in the file, sorted by their position in the file. Symbols can be one of the following types: - Symbol: Base symbol class - TClass: Class definition - TFunction: Function definition - TGlobalVar: Global variable assignment - TInterface: Interface definition
update_filepath
Renames the file and updates all imports to point to the new location.View Source on Github
Parameters
new_filepath
required
Returns
usages
Returns a list of usages of the exportable object.View Source on Github
Parameters
usage_types
default:None
Returns
A sorted list of Usage objects representing where this exportable is used, ordered by source location in reverse.