private static Variable generateNonConflictingVariable(Variable v, VariableGenerator variableGenerator, ImmutableSet<Variable> variables) { Variable proposedVariable = variableGenerator.generateNewVariableIfConflicting(v); if (proposedVariable.equals(v) // Makes sure that a "fresh" variable does not exists in the variable set || (!variables.contains(proposedVariable))) return proposedVariable; /* * Generates a "really fresh" variable */ ImmutableSet<Variable> knownVariables = Sets.union( variableGenerator.getKnownVariables(), variables) .immutableCopy(); VariableGenerator newVariableGenerator = new VariableGenerator(knownVariables); return newVariableGenerator.generateNewVariableFromVar(v); } }
private Variable generateNonConflictingVariable(Variable v, VariableGenerator variableGenerator, ImmutableSet<Variable> variables) { Variable proposedVariable = variableGenerator.generateNewVariableIfConflicting(v); if (proposedVariable.equals(v) // Makes sure that a "fresh" variable does not exists in the variable set || (!variables.contains(proposedVariable))) return proposedVariable; /* * Generates a "really fresh" variable */ ImmutableSet<Variable> knownVariables = Sets.union( variableGenerator.getKnownVariables(), variables) .immutableCopy(); VariableGenerator newVariableGenerator = coreUtilsFactory.createVariableGenerator(knownVariables); Variable newVariable = newVariableGenerator.generateNewVariableFromVar(v); variableGenerator.registerAdditionalVariables(ImmutableSet.of(newVariable)); return newVariable; } }
newArgument = projectedVariableGenerator.generateNewVariableIfConflicting(originalVariable); if (!newArgument.equals(originalVariable)) { bindingBuilder.put(newArgument, originalVariable);
newArgument = projectedVariableGenerator.generateNewVariableIfConflicting(originalVariable); if (!newArgument.equals(originalVariable)) { bindingBuilder.put(newArgument, originalVariable);