@Override public void meet(Var var) { if (!(var.getParentNode() instanceof NAryValueOperator)) { if (!var.isConstant() && hMap.containsKey(var.getName())) { String val = hMap.get(var.getName()); if (val.startsWith("-const-")) { var.replaceWith(new ValueConstant(valMap.get(val))); } else { var.setName(val); } } } }
@Override public void meet(Var var) { if (toBeReplaced.equals(var)) { QueryModelNode parent = var.getParentNode(); parent.replaceChildNode(var, replacement); replacement.setParentNode(parent); } } }
@Override public void meet(final Var var) throws RuntimeException { if (!var.hasValue()) { final String newName = replacements.get(var.getName()); if (newName != null) { var.setName(newName); } else if (var.getName().startsWith("_const-")) { if (var.getParentNode() instanceof StatementPattern) { for (final Var var2 : ((StatementPattern) var.getParentNode()) .getVarList()) { if (var2.hasValue() && var.getName().startsWith(var2.getName())) { var.setValue(var2.getValue()); } } } } else if (var.getName().startsWith("-anon-")) { var.setName(var.getName().replace('-', '_')); } else { final int index = var.getName().indexOf('-'); if (index >= 0) { var.setName(var.getName().substring(0, index)); } } } }
@Override public void meet(Var var) { if (toBeReplaced.equals(var) || (toBeReplaced.isAnonymous() && var.isAnonymous() && (toBeReplaced.hasValue() && toBeReplaced.getValue().equals( var.getValue())))) { QueryModelNode parent = var.getParentNode(); parent.replaceChildNode(var, replacement); replacement.setParentNode(parent); } else if (replaceAnons && var.isAnonymous() && !var.hasValue()) { Var replacementVar = createAnonVar("anon-replace-" + var.getName() + index); QueryModelNode parent = var.getParentNode(); parent.replaceChildNode(var, replacementVar); replacementVar.setParentNode(parent); } }
@Override public void meet(final Var var) { final Binding binding = bindings.getBinding(var.getName()); if (binding != null) { if (var.getParentNode() instanceof StatementPattern) { var.setValue(binding.getValue()); var.setName("_const-" + var.getName()); } else { replaceNode(result, var, new ValueConstant(binding.getValue())); } } }
QueryModelNode parentNode = match.getSubjectVar().getParentNode(); if (parentNode instanceof StatementPattern) { StatementPattern parentStatement = (StatementPattern) parentNode;