View Source on Github
Inherits from
HasBlock, Callable, Expression, Usable, Symbol, Editable, Importable, HasNameAttributes
call_sites
Returns all call sites (invocations) of this callable in the codebase.
code_block
The block of code associated with the code object.
comment
Returns the comment group associated with the symbol, if any.
constructor
Returns the constructor method for this class.
decorators
Returns list of all decorators on this Symbol.
docstring
Retrieves the docstring of the expression.
extended
Returns a SymbolGroup of all extended nodes associated with this element.
extended_nodes
Returns a list of Editable nodes associated with this symbol, including extended symbols.
extended_source
Returns the source text representation of all extended nodes.
file
The file object that this Editable instance belongs to.
filepath
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.
inline_comment
Returns the inline comment group associated with the symbol, if any.
is_decorated
Check if the symbol has decorators.
is_subclass
Indicates whether the current class is a subclass of another class.
name
Retrieves the base name of the object without namespace prefixes.
nested_classes
Retrieves the nested classes defined within this class.
parameters
Retrieves all parameters of a callable symbol.
parent
The parent node of this Editable instance.
parent_class
Find the class this node is contained in
parent_class_names
Returns a list of the parent class names that this class inherits from.
parent_classes
The parent classes of this class, if any.
parent_function
Find the function this node is contained in
parent_statement
Find the statement this node is contained in
resolved_value
Returns the resolved type of an Expression.
return_type
The type of value returned by the callable, or a placeholder.
source
Returns the source code of the symbol.
symbol_type
The type of symbol, set to SymbolType.Class.
type_parameters
The type parameters of the symbol, if any.
variable_usages
Returns Editables for all TreeSitter node instances of variable usages within this node's
Methods
add_attribute
Adds an attribute to a class from another class.View Source on Github
Parameters
attribute
required
include_dependencies
default:False
Returns
add_attribute_from_source
Adds an attribute to a class from raw source code, placing it in a specific locationView Source on Github
Parameters
source
required
Returns
add_comment
Adds a comment to the symbol.View Source on Github
Parameters
comment
required
Returns
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_keyword
Insert a keyword in the appropriate place before this symbol if it doesn’t already exist.View Source on Github
Parameters
keyword
required
Returns
add_source
Add a block of source code to the bottom of a class definition.View Source on Github
Parameters
source
required
Returns
ancestors
Find all ancestors of the node of the given type. Does not return itselfView Source on Github
Returns
attributes
Retrieves all attributes from this Class including those from its superclasses up to aView Source on Github
Parameters
max_depth
default:0
private
default:True
Returns
A list of unique attributes from this class and its superclasses. If an attribute is defined in multiple classes, the first definition encountered is used.
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 node 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_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_attribute
Returns a specific attribute by name.View Source on Github
Parameters
name
required
Returns
The matching attribute if found, None otherwise. If multiple attributes with the same name exist in the inheritance hierarchy, returns the first one found.
get_method
Returns a specific method by name from the class or any of its superclasses.View Source on Github
Parameters
name
required
Returns
The method 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_nested_class
Returns a nested class by name from the current class.View Source on Github
Parameters
name
required
Returns
The nested class if found, None otherwise.
get_parameter
Gets a specific parameter from the callable’s parameters list by name.View Source on Github
Parameters
name
required
Returns
The parameter with the specified name, or None if no parameter with that name exists or if there are no parameters.
get_parameter_by_index
Returns the parameter at the given index.View Source on Github
Parameters
index
required
Returns
The parameter at the specified index, or None if the parameter list is empty or the index does not exist.
get_parameter_by_type
Retrieves a parameter from the callable by its type.View Source on Github
Parameters
type
required
Returns
The parameter with the specified type, or None if no parameter is found or if the callable has no parameters.
get_parent_class
Returns the parent class node with the specified name.View Source on Github
Parameters
parent_class_name
required
Returns
The matching parent class node, or None if no match is 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.
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 the current symbol node in the Abstract Syntax Tree.View Source on Github
Parameters
new_src
required
fix_indentation
default:False
newline
default:True
priority
default:0
dedupe
default:True
extended
default:True
Returns
is_subclass_of
Checks if the class inherits from a specified parent class.View Source on Github
Parameters
parent_class
required
max_depth
default:None
Returns
True if this class inherits from the parent class, False otherwise.
is_wrapped_in
Check if this node is contained another node of the given classView Source on Github
Returns
methods
Retrieves all methods that exist on this Class, including methods from superclasses, withView Source on Github
Parameters
max_depth
default:0
private
default:True
magic
default:True
Returns
move_to_file
Moves the given symbol to a new file and updates its imports and references.View Source on Github
Parameters
file
required
include_dependencies
default:True
strategy
default:"update_all_imports"
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
Deletes this Node and its related extended nodes (e.g. decorators, comments).View Source on Github
Parameters
delete_formatting
default:True
priority
default:0
dedupe
default:True
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
Search and replace occurrences of text within this node’s source and its extended nodes.View Source on Github
Parameters
old
required
new
required
count
default:-1
is_regex
default:False
priority
default:0
Returns
The total number of replacements made.
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_comment
Sets a comment to the symbol.View Source on Github
Parameters
comment
required
Returns
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_inline_comment
Sets an inline comment to the symbol.View Source on Github
Parameters
comment
required
Returns
set_name
Sets the name of a code element.View Source on Github
Parameters
name
required
Returns
subclasses
Returns all classes which subclass this class.View Source on Github
Parameters
max_depth
default:None
Returns
A list of Class objects that inherit from this class.
superclasses
Returns a list of all classes that this class extends, up to max_depth.View Source on Github
Parameters
max_depth
default:None
Returns
A list of all superclass symbols in MRO order, up to max_depth. Returns an empty list if the class has no parent classes.
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.
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.