Skip to main content

Inherits from

PyHasBlock, PySymbol, Function, HasBlock, Symbol, Callable, Expression, Usable, Editable, Importable, HasName

Attributes

body

call_sites

code_block

comment

decorators

docstring

extended

extended_nodes

extended_source

file

filepath

full_name

function_calls

function_signature

inferred_return_type

inline_comment

is_async

is_class_method

is_constructor

is_decorated

is_exported

is_magic

is_method

is_overload

is_private

is_property

is_static_method

name

nested_functions

parameters

parent

parent_class

parent_function

parent_statement

resolved_value

return_statements

return_type

source

symbol_type

type_parameters

variable_usages

Methods

add_comment

Adds a new comment to the symbol.

add_decorator

Adds a decorator to a function or method.

add_keyword

Insert a keyword in the appropriate place before this symbol if it doesn’t already exist.

add_statements

Adds statements to the end of a function body.

ancestors

Find all ancestors of the node of the given type. Does not return itself

asyncify

Modifies the function to be asynchronous.

dependencies

Returns a list of symbols that this symbol depends on.

edit

Replace the source of this node with new_src.

find

Find and return matching nodes or substrings within an Editable instance.

find_string_literals

Returns a list of string literals within this node’s source that match any of the given

flag

Flags a Python symbol by adding a flag comment and returning a CodeFlag.

get_import_string

Generates an import string for a Python symbol.

get_name

Returns the name node of the object.

get_parameter

Gets a specific parameter from the callable’s parameters list by name.

get_parameter_by_index

Returns the parameter at the given index.

get_parameter_by_type

Retrieves a parameter from the callable by its type.

get_variable_usages

Returns Editables for all TreeSitter nodes corresponding to instances of variable usage

insert_after

Inserts code after this node.

insert_before

Inserts text before the current symbol node in the Abstract Syntax Tree.

insert_statements

Inserts lines of code into the function body at the specified index.

is_child_of

Checks if this node is a descendant of the given editable instance in the AST.

is_wrapped_in

Check if this node is contained another node of the given class

move_to_file

Moves the given symbol to a new file and updates its imports and references.

parent_of_type

Find the first ancestor of the node of the given type. Does not return itself

parent_of_types

Find the first ancestor of the node of the given type. Does not return itself

prepend_statements

Prepends statements to the start of the function body.

reduce_condition

Reduces an editable to the following condition

remove

Deletes this Node and its related extended nodes (e.g. decorators, comments).

rename

Renames a symbol and updates all its references in the codebase.

rename_local_variable

Renames a local variable and all its usages within a function body.

replace

Search and replace occurrences of text within this node’s source and its extended nodes. Returns a list of all regex match of regex_pattern, similar to python’s re.search().

set_comment

Sets a comment for the Python symbol.

set_docstring

Sets or updates a docstring for a Python function or class.

set_inline_comment

Sets an inline comment to the symbol.

set_name

Sets the name of a code element.

set_return_type

Sets or modifies the return type annotation of a function.

symbol_usages

Returns a list of symbols that use or import the exportable object.

usages

Returns a list of usages of the exportable object.