class documentation

clones a SupportsAnnotations and applies an 'annotations' dictionary. Unlike regular clones, this clone also mimics __hash__() and __eq__() of the original element so that it takes its place in hashed collections. A reference to the original element is maintained, for the important reason of keeping its hash value current. When GC'ed, the hash value may be reused, causing conflicts. .. note:: The rationale for Annotated producing a brand new class, rather than placing the functionality directly within ClauseElement, is **performance**. The __hash__() method is absent on plain ClauseElement which leads to significantly reduced function call overhead, as the use of sets and dictionaries against ClauseElement objects is prevalent, but most are not "annotated".

Method __eq__ Undocumented
Method __hash__ Undocumented
Method __init__ Undocumented
Method __new__ Undocumented
Method __reduce__ Undocumented
Instance Variable __dict__ Undocumented
Property entity_namespace Undocumented
Class Method _as_annotated_instance Undocumented
Method _annotate Undocumented
Method _clone clone this element
Method _compiler_dispatch Undocumented
Method _deannotate Undocumented
Method _with_annotations Undocumented
Class Variable _is_column_operators Undocumented
Instance Variable __element Undocumented
Instance Variable _annotations Undocumented
Instance Variable _hash Undocumented
Property _constructor Undocumented

Inherited from SupportsAnnotations:

Class Variable __slots__ Undocumented
Class Variable proxy_set Undocumented
Method _gen_annotations_cache_key Undocumented
Class Variable _is_immutable Undocumented
Property _annotations_cache_key Undocumented

Inherited from ExternallyTraversible (via SupportsAnnotations):

Method get_children Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`.
Method _copy_internals Reassign internal elements to be clones of themselves.

Inherited from HasTraverseInternals (via SupportsAnnotations, ExternallyTraversible):

Class Variable _traverse_internals Undocumented

Inherited from Visitable (via SupportsAnnotations, ExternallyTraversible, HasTraverseInternals):

Method __class_getitem__ Undocumented
Method __init_subclass__ Undocumented
Class Variable __visit_name__ Undocumented
Class Method _generate_compiler_dispatch Undocumented
Class Variable _original_compiler_dispatch Undocumented
def __eq__(self, other: Any) -> bool: (source)

Undocumented

def __hash__(self) -> int: (source)

Undocumented

def __new__(cls: Type[Self], *args: Any) -> Self: (source)

Undocumented

def __reduce__(self) -> Tuple[Type[Annotated], Tuple[Any, ...]]: (source)

Undocumented

__dict__ = (source)

Undocumented

@util.ro_non_memoized_property
entity_namespace: _EntityNamespace = (source)

Undocumented

@classmethod
def _as_annotated_instance(cls, element: SupportsWrappingAnnotations, values: _AnnotationDict) -> Annotated: (source)

Undocumented

def _annotate(self, values: _AnnotationDict) -> Self: (source)
def _clone(self, **kw: Any) -> Self: (source)
def _compiler_dispatch(self, visitor: Any, **kw: Any) -> Any: (source)
@overload
def _deannotate(self, values: Literal[None] = ..., clone: bool = ...) -> Self:
@overload
def _deannotate(self, values: Sequence[str] = ..., clone: bool = ...) -> Annotated:
(source)
def _with_annotations(self, values: _AnnotationDict) -> Self: (source)
_is_column_operators: bool = (source)

Undocumented

__element = (source)

Undocumented

_annotations = (source)

Undocumented

Undocumented

@property
_constructor = (source)

Undocumented