src/Validator/Rules/OverlappingFieldsCanBeMerged.php
private function getReferencedFieldsAndFragmentNames(
        ValidationContext $context,
        FragmentDefinitionNode $fragment
    ) {
        // Short-circuit building a type from the AST if possible.
        if (isset($this->cachedFieldsAndFragmentNames[$fragment->selectionSet])) {
            return $this->cachedFieldsAndFragmentNames[$fragment->selectionSet];
        }

        $fragmentType = TypeInfo::typeFromAST($context->getSchema(), $fragment->typeCondition);

        return $this->getFieldsAndFragmentNames(
            $context,
            $fragmentType,
            $fragment->selectionSet
        );
    }
private function getReferencedFieldsAndFragmentNames(
        ValidationContext $context,
        FragmentDefinitionNode $fragment
    ) {
        // Short-circuit building a type from the AST if possible.
        if (isset($this->cachedFieldsAndFragmentNames[$fragment->selectionSet])) {
            return $this->cachedFieldsAndFragmentNames[$fragment->selectionSet];
        }

        $fragmentType = TypeInfo::typeFromAST($context->getSchema(), $fragment->typeCondition);

        return $this->getFieldsAndFragmentNames(
            $context,
            $fragmentType,
            $fragment->selectionSet
        );
    }
private function getReferencedFieldsAndFragmentNames ( ValidationContext $ context , FragmentDefinitionNode $ fragment ) { // Short-circuit building a type from the AST if possible. if ( isset ( $ this -> cachedFieldsAndFragmentNames [ $ fragment -> selectionSet ] ) ) { return $ this -> cachedFieldsAndFragmentNames [ $ fragment -> selectionSet ] ; } $ fragmentType = TypeInfo :: typeFromAST ( $ context -> getSchema ( ) , $ fragment -> typeCondition ) ; return $ this -> getFieldsAndFragmentNames ( $ context , $ fragmentType , $ fragment -> selectionSet ) ; }
Given a reference to a fragment, return the represented collection of fields
as well as a list of nested fragment names referenced via fragment spreads.

@return mixed[]|SplObjectStorage
Given a reference to a fragment return the represented collection of fields as well as a list of nested fragment names referenced via fragment spreads .