package lf2.plp.expressions2.memory; import java.util.HashMap; import java.util.Stack; import java.util.Map.Entry; import lf2.plp.expressions2.expression.Id; import lf2.plp.expressions2.expression.Valor; import lf2.plp.functional1.memory.ContextoExecucaoFuncional; public class ContextoExecucao extends Contexto implements AmbienteExecucao { public ContextoExecucao clone() { ContextoExecucaoFuncional retorno = new ContextoExecucaoFuncional(); Stack> novaPilha = new Stack>(); HashMap novoMap = new HashMap(); novaPilha.add(novoMap); for (HashMap map : this.pilha){ for(Entry entry : map.entrySet()){ novoMap.put(entry.getKey(), entry.getValue()); } } retorno.setPilha(novaPilha); return retorno; } }