/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.powermock.api.mockito.repackaged.cglib.transform.impl; import org.powermock.api.mockito.repackaged.asm.Type; import org.powermock.api.mockito.repackaged.cglib.core.EmitUtils; import org.powermock.api.mockito.repackaged.cglib.core.TypeUtils; import org.powermock.api.mockito.repackaged.cglib.transform.ClassEmitterTransformer; import java.util.Map; public class AddPropertyTransformer extends ClassEmitterTransformer { private final String[] names; private final Type[] types; public AddPropertyTransformer(Map props) { int size = props.size(); names = (String[])props.keySet().toArray(new String[size]); types = new Type[size]; for (int i = 0; i < size; i++) { types[i] = (Type)props.get(names[i]); } } public AddPropertyTransformer(String[] names, Type[] types) { this.names = names; this.types = types; } public void end_class() { if (!TypeUtils.isAbstract(getAccess())) { EmitUtils.add_properties(this, names, types); } super.end_class(); } }