@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable v) { vars.add(v); super.apply(v); } }.apply(term);
@Override public void apply(KVariable k) { if (!k.name().equals("HOLE")) { vars.put(k, k); finalHolePosition[0] = currentHolePosition[0]; } else { holeVar = k; currentHolePosition[0]++; } super.apply(k); }
@Override public void apply(KVariable k) { if (k.name().startsWith("!")) { freshVars.add(k); } super.apply(k); } }.apply(term);
@Override public K apply(KVariable k) { if (varToTypedVar.containsKey(k)) { return varToTypedVar.get(k); } return super.apply(k); } }.apply(term);
@Override public void apply(KRewrite k) { boolean inRewrite = h.inRewrite; if (h.inRewrite) { errors.add(KEMException.compilerError("Rewrites are not allowed to be nested.", k)); } h.hasRewrite = true; h.inRewrite = true; super.apply(k); h.inRewrite = inRewrite; }
@Override public void apply(KApply k) { if (ConvertDataStructureToLookup.isLookupKLabel(k)) { h.i++; } super.apply(k); } }.apply(r.requires());
@Override public void apply(KRewrite k) { heated = k.right(); super.apply(k); }
@Override public void apply(KApply k) { if (k.klabel().name().equals("#externalCell")) { hasConfigVar = true; } super.apply(k); }
@Override public void apply(InjectedKLabel k) { apply(k.klabel(), k); super.apply(k); }
@Override public void apply(KApply k) { apply(k.klabel(), k); super.apply(k); }
@Override public void apply(KApply k) { if (k.klabel() instanceof KVariable) vars.put((KVariable) k.klabel(), InjectedKLabel(k.klabel())); super.apply(k); } }.process(body);
@Override public void apply(KRewrite k) { if (!isHOLE(k.left())) { throw KEMException.compilerError("Only the HOLE can be rewritten in a context definition", context); } super.apply(k); }
@Override public void apply(KApply k) { if (h.i > idx) return; if (k.klabel().name().equals("#match") || k.klabel().name().equals("#setChoice") || k.klabel().name().equals("#mapChoice") || k.klabel().name().equals("#filterMapChoice")) { h.lookup = k; h.i++; } super.apply(k); } }.apply(r.requires());
@Override public void apply(KApply k) { if (k.klabel().name().equals(userCellLabel.name())) { String sort = wellformedAndGetSortNameOfCast(k.klist()); if (!sort.isEmpty()) { sorts.add(sort); } else { if (k.att().getOption(Location.class).isDefined()) { // warning only for user-provided rules kem.registerCompilerWarning("Unsupported matching pattern in stdin stream cell." + "\nThe currently supported pattern is: <in> ListItem(V:Sort) => .List ... </in>", k); } } } super.apply(k); }