/******************************************************************************* * Copyright (c) 2010 Contributors * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt * * Contributors: * Andy Clement (SpringSource) - initial implementation *******************************************************************************/ package org.aspectj.weaver.patterns; import java.util.ArrayList; import java.util.List; import org.aspectj.weaver.ConstantPoolReader; import org.aspectj.weaver.ConstantPoolWriter; public class ConstantPoolSimulator implements ConstantPoolWriter, ConstantPoolReader { List list = new ArrayList<>(); public int writeUtf8(String string) { int i = list.indexOf(string); if (i != -1) { return i; } list.add(string); return list.indexOf(string); } public String readUtf8(int constantPoolIndex) { return list.get(constantPoolIndex); } }