diff --git a/src/Executor/Executor.php b/src/Executor/Executor.php index 4460e20..e63a42a 100644 --- a/src/Executor/Executor.php +++ b/src/Executor/Executor.php @@ -560,7 +560,7 @@ class Executor switch ($selection->kind) { case NodeKind::FIELD: if (!$this->shouldIncludeNode($selection)) { - continue; + continue 2; } $name = self::getFieldEntryKey($selection); if (!isset($fields[$name])) { @@ -572,7 +572,7 @@ class Executor if (!$this->shouldIncludeNode($selection) || !$this->doesFragmentConditionMatch($selection, $runtimeType) ) { - continue; + continue 2; } $this->collectFields( $runtimeType, @@ -584,14 +584,14 @@ class Executor case NodeKind::FRAGMENT_SPREAD: $fragName = $selection->name->value; if (!empty($visitedFragmentNames[$fragName]) || !$this->shouldIncludeNode($selection)) { - continue; + continue 2; } $visitedFragmentNames[$fragName] = true; /** @var FragmentDefinitionNode|null $fragment */ $fragment = isset($exeContext->fragments[$fragName]) ? $exeContext->fragments[$fragName] : null; if (!$fragment || !$this->doesFragmentConditionMatch($fragment, $runtimeType)) { - continue; + continue 2; } $this->collectFields( $runtimeType,