package org.geogebra.common.kernel.geos; import org.geogebra.common.kernel.algos.AlgoElement; import org.geogebra.common.kernel.algos.AlgorithmSet.AlgorithmSetIterator; import org.geogebra.common.kernel.arithmetic.ExpressionValue; import org.geogebra.common.kernel.arithmetic.Inspecting; import org.geogebra.common.kernel.arithmetic.MyArbitraryConstant.AlgoDependentArbconst; /** * Replaces references to removed algos in arbitrary constant after XML reload */ public class ArbconstAlgoFixer implements Inspecting { @Override public boolean check(ExpressionValue ev) { if (ev instanceof GeoNumeric) { GeoNumeric num = ((GeoNumeric) ev); AlgorithmSetIterator it = num.getAlgoUpdateSet().getIterator(); while (it.hasNext()) { AlgoElement el = it.next(); if (el instanceof AlgoDependentArbconst) { ((AlgoDependentArbconst) el).replaceOutCE(); } } } return false; } }