private function getAllMethods() : array
    {
        return array_merge(
            [],
            array_map(
                function (ClassMethod $methodNode) : ReflectionMethod {
                    return ReflectionMethod::createFromNode(
                        $this->reflector,
                        $methodNode,
                        $this->declaringNamespace,
                        $this,
                        $this
                    );
                },
                $this->node->getMethods()
            ),
            ...array_map(
                function (ReflectionClass $trait) : array {
                    return array_map(function (ReflectionMethod $method) use ($trait) : ReflectionMethod {
                        /** @var ClassMethod $methodAst */
                        $methodAst = $method->getAst();

                        return ReflectionMethod::createFromNode(
                            $this->reflector,
                            $methodAst,
                            $this->declaringNamespace,
                            $trait,
                            $this
                        );
                    }, $trait->getMethods());
                },
                $this->getTraits()
            ),
            ...array_map(
                static function (ReflectionClass $ancestor) : array {
                    return $ancestor->getMethods();
                },
                array_values(array_merge(
                    array_filter([$this->getParentClass()]),
                    $this->getInterfaces()
                ))
            )
        );
    }
private function getAllMethods() : array
    {
        return array_merge(
            [],
            array_map(
                function (ClassMethod $methodNode) : ReflectionMethod {
                    return ReflectionMethod::createFromNode(
                        $this->reflector,
                        $methodNode,
                        $this->declaringNamespace,
                        $this,
                        $this
                    );
                },
                $this->node->getMethods()
            ),
            ...array_map(
                function (ReflectionClass $trait) : array {
                    return array_map(function (ReflectionMethod $method) use ($trait) : ReflectionMethod {
                        /** @var ClassMethod $methodAst */
                        $methodAst = $method->getAst();

                        return ReflectionMethod::createFromNode(
                            $this->reflector,
                            $methodAst,
                            $this->declaringNamespace,
                            $trait,
                            $this
                        );
                    }, $trait->getMethods());
                },
                $this->getTraits()
            ),
            ...array_map(
                static function (ReflectionClass $ancestor) : array {
                    return $ancestor->getMethods();
                },
                array_values(array_merge(
                    array_filter([$this->getParentClass()]),
                    $this->getInterfaces()
                ))
            )
        );
    }
private function getAllMethods ( ) : array { return array_merge ( [ ] , array_map ( function ( ClassMethod $ methodNode ) : ReflectionMethod { return ReflectionMethod :: createFromNode ( $ this -> reflector , $ methodNode , $ this -> declaringNamespace , $ this , $ this ) ; } , $ this -> node -> getMethods ( ) ) , ... array_map ( function ( ReflectionClass $ trait ) : array { return array_map ( function ( ReflectionMethod $ method ) use ( $ trait ) : ReflectionMethod { /** @var ClassMethod $methodAst */ $ methodAst = $ method -> getAst ( ) ; return ReflectionMethod :: createFromNode ( $ this -> reflector , $ methodAst , $ this -> declaringNamespace , $ trait , $ this ) ; } , $ trait -> getMethods ( ) ) ; } , $ this -> getTraits ( ) ) , ... array_map ( static function ( ReflectionClass $ ancestor ) : array { return $ ancestor -> getMethods ( ) ; } , array_values ( array_merge ( array_filter ( [ $ this -> getParentClass ( ) ] ) , $ this -> getInterfaces ( ) ) ) ) ) ; }
Construct a flat list of all methods from current class, traits,
parent classes and interfaces in this precise order.

@return ReflectionMethod[]
Construct a flat list of all methods from current class traits parent classes and interfaces in this precise order .