public static ImmutableSet<Variable> collectVariables(List<QueryNode> nodes) { ImmutableSet.Builder<Variable> collectedVariableBuilder = ImmutableSet.builder(); for (QueryNode node : nodes) { collectedVariableBuilder.addAll(node.getLocalVariables()); } return collectedVariableBuilder.build(); }
public static ImmutableSet<Variable> collectVariables(List<QueryNode> nodes) { ImmutableSet.Builder<Variable> collectedVariableBuilder = ImmutableSet.builder(); for (QueryNode node : nodes) { collectedVariableBuilder.addAll(node.getLocalVariables()); } return collectedVariableBuilder.build(); }
@Override public boolean isVariableUsedSomewhereElse(IntermediateQuery query, QueryNode originNode, Variable variable) { return query.getNodesInTopDownOrder().stream() .filter(n -> n != originNode) .anyMatch(n -> n.getLocalVariables().contains(variable)); } }
/** * To be called every time a new node is added to the tree component. */ private void collectPossiblyNewVariables(QueryNode newNode) { variableGenerator.registerAdditionalVariables(newNode.getLocalVariables()); } }
/** * To be called every time a new node is added to the tree component. */ private void collectPossiblyNewVariables(QueryNode newNode) { variableGenerator.registerAdditionalVariables(newNode.getLocalVariables()); } }
@Override public boolean isVariableUsedSomewhereElse(IntermediateQuery query, QueryNode originNode, Variable variable) { return query.getNodesInTopDownOrder().stream() .filter(n -> n != originNode) .anyMatch(n -> n.getLocalVariables().contains(variable)); } }
@Override public ImmutableSet<Variable> getKnownVariables() { if (knownVariables == null) knownVariables = Stream.concat( getRootNode().getLocalVariables().stream(), getChildren().stream() .flatMap(c -> c.getKnownVariables().stream())) .collect(ImmutableCollectors.toSet()); return knownVariables; }
surroundingVariables.addAll(ancestorNode.getLocalVariables());