package org.compass.core.config.binding.metadata;
import java.io.IOException;
import java.io.InputStream;
import org.compass.core.mapping.MappingException;
import org.objectweb.asm.ClassReader;
/**
* @author kimchy
*/
public class AsmMetaDataReader implements MetaDataReader {
public ClassMetaData getClassMetaData(InputStream is, String resourceName) throws MappingException {
ClassReader classReader = null;
try {
classReader = new ClassReader(is);
} catch (IOException e) {
throw new MappingException("Failed to read [" + resourceName + "] class meta data using asm", e);
}
AsmClassMetaData asmClassMetaData = new AsmClassMetaData();
classReader.accept(asmClassMetaData, ClassReader.SKIP_DEBUG);
return asmClassMetaData;
}
}