public void leave()

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);
    }
  }