Bases: Expression
Class for unknown class initializations.
Attributes:
| Name |
Type |
Description |
call |
Call
|
|
inferred_def |
ClassDef | None
|
The inferred class definition for the call if it is known.
|
name |
str
|
|
Source code in src/library_analyzer/processing/api/purity_analysis/model/_purity.py
| @dataclass
class UnknownClassInit(Expression):
"""Class for unknown class initializations.
Attributes
----------
call :
The call node.
inferred_def :
The inferred class definition for the call if it is known.
name :
The name of the call.
"""
call: astroid.Call
inferred_def: astroid.ClassDef | None = None
name: str = field(init=False)
def __post_init__(self) -> None:
if self.inferred_def is not None:
self.name = f"{self.inferred_def.root().name}.{self.inferred_def.name}"
elif isinstance(self.call.func, astroid.Attribute):
self.name = self.call.func.attrname
else:
self.name = self.call.func.name
def __str__(self) -> str:
return f"{self.__class__.__name__}.{self.name}"
|
call: astroid.Call
instance-attribute
inferred_def: astroid.ClassDef | None = None
class-attribute
instance-attribute
name: str = field(init=False)
class-attribute
instance-attribute
__init__(call, inferred_def=None)
__post_init__()
Source code in src/library_analyzer/processing/api/purity_analysis/model/_purity.py
| def __post_init__(self) -> None:
if self.inferred_def is not None:
self.name = f"{self.inferred_def.root().name}.{self.inferred_def.name}"
elif isinstance(self.call.func, astroid.Attribute):
self.name = self.call.func.attrname
else:
self.name = self.call.func.name
|
__str__()
Source code in src/library_analyzer/processing/api/purity_analysis/model/_purity.py
| def __str__(self) -> str:
return f"{self.__class__.__name__}.{self.name}"
|