Repository: ManimCommunity/manim
File: manim/mobject/mobject.py (Python)

Code before:
        self.shadow = 0.0
        self.needs_new_bounding_box = True
        self.parents = []
        self.family = [self]

        self.init_gl_data()
        self.init_gl_points()
        self.init_gl_colors()

        Container.__init__(self, **kwargs)

    @classmethod
    def animation_override_for(
        cls, animation_class: Type["Animation"]
    ) -> "Optional[Callable[[Mobject, ...], Animation]]":
        """Returns the function defining a specific animation override for this class.

        Parameters
        ----------
        animation_class
            The animation class for which the override function should be returned.

        Returns
        -------
        Optional[Callable[[Mobject, ...], Animation]]
            The function returning the override animation or `None` if no such animation
            override is defined.
        """
        if animation_class in cls.animation_overrides:
            return cls.animation_overrides[animation_class]

        return None

    @classmethod
    def _add_intrinsic_animation_overrides(cls):
        """Initializes animation overrides marked with the `func:override_animation`
        decorator.
        """
        for method_name in dir(cls):
            # Ignore dunder methods
            if method_name.startswith("__"):
                continue

            method = getattr(cls, method_name)
            if hasattr(method, "_override_animation"):
                animation_class = method._override_animation
                cls.add_animation_override(animation_class, method)

    @classmethod
    def add_animation_override(
        cls,

Review comment (suggestion):
```suggestion
            The function returning the override animation or ``None`` if no such animation
```

Code after:
        self.shadow = 0.0
        self.needs_new_bounding_box = True
        self.parents = []
        self.family = [self]

        self.init_gl_data()
        self.init_gl_points()
        self.init_gl_colors()

        Container.__init__(self, **kwargs)

    @classmethod
    def animation_override_for(
        cls, animation_class: Type["Animation"]
    ) -> "Optional[Callable[[Mobject, ...], Animation]]":
        """Returns the function defining a specific animation override for this class.

        Parameters
        ----------
        animation_class
            The animation class for which the override function should be returned.

        Returns
        -------
        Optional[Callable[[Mobject, ...], Animation]]
            The function returning the override animation or ``None`` if no such animation
            override is defined.
        """
        if animation_class in cls.animation_overrides:
            return cls.animation_overrides[animation_class]

        return None

    @classmethod
    def _add_intrinsic_animation_overrides(cls):
        """Initializes animation overrides marked with the :func:`~.override_animation`
        decorator.
        """
        for method_name in dir(cls):
            # Ignore dunder methods
            if method_name.startswith("__"):
                continue

            method = getattr(cls, method_name)
            if hasattr(method, "_override_animation"):
                animation_class = method._override_animation
                cls.add_animation_override(animation_class, method)

    @classmethod
    def add_animation_override(
        cls,