/*
* 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();
}
}