in src/main/com/intellij/lang/jsgraphql/types/validation/TraversalContext.java [197:232]
public void leave(Node node, List<Node> ancestors) {
if (node instanceof OperationDefinition) {
outputTypeStack.remove(outputTypeStack.size() - 1);
}
else if (node instanceof SelectionSet) {
parentTypeStack.remove(parentTypeStack.size() - 1);
}
else if (node instanceof Field) {
leaveName(((Field)node).getName());
fieldDefStack.remove(fieldDefStack.size() - 1);
outputTypeStack.remove(outputTypeStack.size() - 1);
}
else if (node instanceof Directive) {
directive = null;
}
else if (node instanceof InlineFragment) {
outputTypeStack.remove(outputTypeStack.size() - 1);
}
else if (node instanceof FragmentDefinition) {
leaveName(((FragmentDefinition)node).getName());
outputTypeStack.remove(outputTypeStack.size() - 1);
}
else if (node instanceof VariableDefinition) {
inputTypeStack.remove(inputTypeStack.size() - 1);
}
else if (node instanceof Argument) {
argument = null;
inputTypeStack.remove(inputTypeStack.size() - 1);
}
else if (node instanceof ArrayValue) {
inputTypeStack.remove(inputTypeStack.size() - 1);
}
else if (node instanceof ObjectField) {
inputTypeStack.remove(inputTypeStack.size() - 1);
}
}