/* * Copyright (C) 2010-2013 JPEXS * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package com.jpexs.decompiler.flash.action.treemodel; import java.util.ArrayList; import java.util.List; public class ConstantPool { public List> archive = new ArrayList>(); public List archiveCounts = new ArrayList(); public List constants = new ArrayList(); public int count; public ConstantPool() { } public ConstantPool(List constants) { this.constants = constants; } public void setNew(List constants) { archive.add(this.constants); this.constants = constants; archiveCounts.add(count); count = 0; } @Override public String toString() { return "" + count + "x " + constants.toString(); } public boolean isEmpty() { return constants.isEmpty(); } public void getLastUsed() { if (count > 0) { return; } for (int i = archive.size() - 1; i >= 0; i--) { if (archiveCounts.get(i) > 0) { count = archiveCounts.get(i); constants = archive.get(i); break; } } } }