Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
838 lines (657 loc) · 38.8 KB

File metadata and controls

838 lines (657 loc) · 38.8 KB
Copy raw file
Download raw file
Outline
Edit and raw actions
title PyAssignment
sidebarTitle PyAssignment
icon
description An abstract representation of a assignment in python. This includes assignments of variables to functions, other variables, class instantiations, etc.

import {Parameter} from '/snippets/Parameter.mdx'; import {ParameterWrapper} from '/snippets/ParameterWrapper.mdx'; import {Return} from '/snippets/Return.mdx'; import {HorizontalDivider} from '/snippets/HorizontalDivider.mdx'; import {GithubLinkNote} from '/snippets/GithubLinkNote.mdx'; import {Attribute} from '/snippets/Attribute.mdx';

Inherits from

PySymbol, Assignment, Symbol, HasValue, Typeable, Usable, Importable, Editable, Expression, HasName

Attributes

### comment PyCommentGroup | None } description="Returns the comment group associated with the symbol." />

extended

SymbolGroup } description="Returns a SymbolGroup of all extended nodes associated with this element." />

extended_nodes

list[ Editable ] } description="Returns a list of Editable nodes associated with this symbol, including extended symbols." />

extended_source

str } description="Returns the source text representation of all extended nodes." />

file

PyFile } description="The file object that this Editable instance belongs to." />

filepath

str } description="The file path of the file that this Editable instance belongs to." />

full_name

str | None } description="Returns the full name of the object, including the namespace path." />

function_calls

list[ FunctionCall ] } description="Returns a list of all function calls contained within this expression." />

index

int } description="Returns the index of the assignment statement in its parent's code block." />

inline_comment

PyCommentGroup | None } description="A property that retrieves the inline comment group associated with a symbol." />

is_exported

bool } description="Indicates whether a Python symbol is exported." />

is_local_variable

bool } description="Determines if an assignment represents a local variable in the current scope." />

is_typed

bool } description="Indicates if a node has an explicit type annotation." />

name

str | None } description="Retrieves the base name of the object without namespace prefixes." />

parent

Editable } description="The parent node of this Editable instance." />

parent_class

PyClass | None } description="Find the class this node is contained in" />

parent_function

PyFunction | None } description="Find the function this node is contained in" />

parent_statement

Statement | None } description="Find the statement this node is contained in" />

resolved_value

Expression | list[ Expression ] } description="Returns the resolved type of an Expression." />

source

str } description="Returns the source code of the symbol." />

symbol_type

} description="The type of symbol, set to SymbolType.GlobalVar." />

type

Type | TypePlaceholder [ PyAssignment ] } description="The type annotation associated with this node" />

value

Expression | None } description="Gets the value node of the object." />

variable_usages

list[ Editable ] } description="Returns Editables for all TreeSitter node instances of variable usages within this node's" />

Methods

### add_comment Adds a new comment to the symbol. str } description="The comment text to be added." defaultValue="" /> bool } description="Whether to automatically format the text into a proper comment format." defaultValue="True" /> bool } description="Whether to clean and normalize the comment text before adding." defaultValue="True" /> PyCommentType } description="The style of comment to add (e.g., single-line, multi-line)." defaultValue="PyCommentType.SINGLE_LINE" />

<Return return_type={ None } description=""/>

add_keyword

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

str } description="The keyword to be inserted. Must be a valid keyword in the language context." defaultValue="" />

<Return return_type={ None } description=""/>

ancestors

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

<Return return_type={ <>list[ <a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable ]</> } description=""/>

dependencies

Returns a list of symbols that this symbol depends on.

UsageType | None } description="The types of dependencies to search for. Defaults to UsageType.DIRECT." defaultValue="UsageType.DIRECT" /> int | None } description="Maximum depth to traverse in the dependency graph. If provided, will recursively collect" defaultValue="None" />

<Return return_type={ <>list[Union[ <a href="/api-reference/python/PySymbol" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PySymbol , <a href="/api-reference/python/PyImport" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyImport ]]</> } description="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.

str } description="The new source code to replace the current source with." defaultValue="" /> bool } description="If True, adjusts the indentation of new_src to match the current text's indentation. Defaults to False." defaultValue="False" /> int } description="The priority of this edit. Higher priority edits take precedence. Defaults to 0." defaultValue="0" /> bool } description="If True, prevents duplicate edits. Defaults to True." defaultValue="True" />

<Return return_type={ None } description=""/>

find

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

Union[list[str], str] } description="One or more strings to search for." defaultValue="" /> bool } description="If True, only return nodes whose source exactly matches one of the strings_to_match." defaultValue="False" />

<Return return_type={ <>list[ <a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable ]</> } description="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 given

list[str] } description="A list of strings to search for in string literals." defaultValue="" /> bool } description="If True, matches substrings within string literals. If False, only matches exact strings. Defaults to False." defaultValue="False" />

<Return return_type={ <>list[ <a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable [ <a href="/api-reference/python/PyAssignment" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyAssignment ]]</> } description="A list of Editable objects representing the matching string literals."/>

flag

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

<Return return_type={ <>CodeFlag[ <a href="/api-reference/python/PyAssignment" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyAssignment ]</> } description="The code flag object for tracking purposes"/>

from_named_expression

Creates a MultiExpression from a Python named expression.

TSNode } description="The TreeSitter node representing the named expression." defaultValue="" /> NodeId } description="The identifier of the file containing this node." defaultValue="" /> CodebaseContext } description="The codebase context instance." defaultValue="" /> Editable } description="The parent node that contains this expression." defaultValue="" />

<Return return_type={ <><a href="/api-reference/core/MultiExpression" style={ {fontWeight: "inherit", fontSize: "inherit"} }>MultiExpression [ <a href="/api-reference/python/PyAssignmentStatement" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyAssignmentStatement , <a href="/api-reference/python/PyAssignment" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyAssignment ]</> } description="A MultiExpression containing the assignments created from the named expression."/>

get_import_string

Generates an import string for a Python symbol.

str | None } description="Optional alias name for the import. If provided and different from symbol name, creates aliased import." defaultValue="None" /> str | None } description="Optional module name to import from. If not provided, uses the symbol's file's module name." defaultValue="None" /> ImportType } description="Type of import to generate. If WILDCARD, generates star import. Defaults to UNKNOWN." defaultValue="ImportType.UNKNOWN" /> bool } description="Whether this is a type import. Currently unused. Defaults to False." defaultValue="False" />

<Return return_type={ str } description="The formatted import string. Will be one of: - "from {module} import * as {file_name}" (for WILDCARD imports) - "from {module} import {name} as {alias}" (for aliased imports) - "from {module} import {name}" (for standard imports)"/>

get_name

Returns the name node of the object.

<Return return_type={ <><a href="/api-reference/core/Name" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Name | <a href="/api-reference/python/PyChainedAttribute" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyChainedAttribute | None</> } description="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_variable_usages

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

str } description="The variable name to search for." defaultValue="" /> bool } description="If True, matches variables where var_name is a substring. If False, requires exact match. Defaults to False." defaultValue="False" />

<Return return_type={ <>Sequence[ <a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable [ <a href="/api-reference/python/PyAssignment" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyAssignment ]]</> } description="List of Editable objects representing variable usage nodes matching the given name."/>

insert_after

Inserts code after this node.

str } description="The source code to insert after this node." defaultValue="" /> bool, optional } description="Whether to adjust the indentation of new_src to match the current node. Defaults to False." defaultValue="False" /> bool, optional } description="Whether to add a newline before the new_src. Defaults to True." defaultValue="True" /> int, optional } description="Priority of the insertion transaction. Defaults to 0." defaultValue="0" /> bool, optional } description="Whether to deduplicate identical transactions. Defaults to True." defaultValue="True" />

<Return return_type={ None } description=""/>

insert_before

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

str } description="The source code text to insert." defaultValue="" /> bool } description="Whether to adjust the indentation of new_src to match current text. Defaults to False." defaultValue="False" /> bool } description="Whether to add a newline after insertion. Defaults to True." defaultValue="True" /> int } description="Priority of this edit operation. Higher priority edits are applied first. Defaults to 0." defaultValue="0" /> bool } description="Whether to remove duplicate insertions. Defaults to True." defaultValue="True" /> bool } description="Whether to insert before extended nodes like comments and decorators. Defaults to True." defaultValue="True" />

<Return return_type={ None } description=""/>

is_child_of

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

<Return return_type={ bool } description=""/>

is_wrapped_in

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

<Return return_type={ bool } description=""/>

local_usages

Retrieves all usages of the assigned variable within its code block scope.

<Return return_type={ <>list[ <a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable [ <a href="/api-reference/core/Statement" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Statement ]]</> } description="A sorted list of statement nodes where the variable is used."/>

move_to_file

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

PyFile } description="The destination file to move the symbol to." defaultValue="" /> bool } description="If True, moves all dependencies of the symbol to the new file. If False, adds imports for the dependencies. Defaults to True." defaultValue="True" /> str } description="The strategy to use for updating imports. Can be either 'add_back_edge' or 'update_all_imports'. Defaults to 'update_all_imports'." defaultValue=""update_all_imports"" />

<Return return_type={ None } description=""/>

parent_of_type

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

<Return return_type={ <><a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable | None</> } description=""/>

parent_of_types

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

<Return return_type={ <><a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable | None</> } description=""/>

reduce_condition

Simplifies an assignment expression by reducing it based on a boolean condition and updating all the usages.

bool } description="The boolean value to reduce the condition to." defaultValue="" />

<Return return_type={ None } description=""/>

remove

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

bool } description="Whether to delete surrounding whitespace and formatting. Defaults to True." defaultValue="True" /> int } description="Priority of the removal transaction. Higher priority transactions are executed first. Defaults to 0." defaultValue="0" /> bool } description="Whether to deduplicate removal transactions at the same location. Defaults to True." defaultValue="True" />

<Return return_type={ None } description=""/>

rename

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

str } description="The new name for the symbol." defaultValue="" /> int } description="Priority of the edit operation. Defaults to 0." defaultValue="0" />

<Return return_type={ tuple[NodeId, NodeId] } description="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.

str } description="The text or pattern to search for." defaultValue="" /> str } description="The text to replace matches with." defaultValue="" /> int, optional } description="Maximum number of replacements to make. Defaults to -1 (replace all)." defaultValue="-1" /> bool, optional } description="Whether to treat 'old' as a regex pattern. Defaults to False." defaultValue="False" /> int, optional } description="Priority of the replacement operation. Defaults to 0." defaultValue="0" />

<Return return_type={ int } description="The total number of replacements made."/>

search

Returns a list of all regex match of regex_pattern, similar to python's re.search().

str } description="The regular expression pattern to search for." defaultValue="" /> bool } description="When False, excludes the contents of string literals from the search. Defaults to True." defaultValue="True" /> bool } description="When False, excludes the contents of comments from the search. Defaults to True." defaultValue="True" />

<Return return_type={ <>list[ <a href="/api-reference/core/Editable" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Editable ]</> } description="A list of Editable objects corresponding to the matches found."/>

set_comment

Sets a comment for the Python symbol.

str } description="The comment text to be added or set." defaultValue="" /> bool, optional } description="If True, automatically formats the text as a comment." defaultValue="True" /> bool, optional } description="If True, cleans the format of the comment before" defaultValue="True" /> PyCommentType , optional } description="Type of comment to add (e.g., single line," defaultValue="PyCommentType.SINGLE_LINE" />

<Return return_type={ None } description="This method modifies the symbol's comment in place."/>

set_inline_comment

Sets an inline comment to the symbol.

str } description="The inline comment text to add." defaultValue="" /> bool, optional } description="If True, formats the text into a proper inline" defaultValue="True" /> bool, optional } description="If True, cleans the comment text before insertion" defaultValue="True" />

<Return return_type={ None } description=""/>

set_name

Sets the name of a code element.

str } description="The new name to set for the object." defaultValue="" />

<Return return_type={ None } description=""/>

set_type_annotation

Adds or updates a type annotation for the current assignment.

str } description="The type annotation to be added or updated." defaultValue="" />

<Return return_type={ None } description=""/>

set_value

Sets the value of an assignment expression.

str } description="The source code string representing the new value to be assigned." defaultValue="" />

<Return return_type={ None } description=""/>

symbol_usages

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

UsageType | None } description="The types of usages to search for. Defaults to any." defaultValue="None" />

<Return return_type={ <>list[ <a href="/api-reference/python/PyImport" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PyImport | <a href="/api-reference/python/PySymbol" style={ {fontWeight: "inherit", fontSize: "inherit"} }>PySymbol | <a href="/api-reference/core/Export" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Export ]</> } description="A list of symbols that use or import the exportable object."/>

usages

Returns a list of usages of the exportable object.

UsageType | None } description="Specifies which types of usages to include in the results. Default is any usages." defaultValue="None" />

<Return return_type={ <>list[ <a href="/api-reference/core/Usage" style={ {fontWeight: "inherit", fontSize: "inherit"} }>Usage ]</> } description="A sorted list of Usage objects representing where this exportable is used, ordered by source location in reverse."/>

Morty Proxy This is a proxified and sanitized view of the page, visit original site.