*/
public void transformInterface(final Context context, final Klass klass) {
// loop over all the definitions
for (Iterator it = m_definitions.iterator(); it.hasNext();) {
AspectWerkzDefinition definition = (AspectWerkzDefinition)it.next();
definition.loadAspects(context.getLoader());
final ClassGen cg = klass.getClassGen();
ClassMetaData classMetaData = BcelMetaDataMaker.createClassMetaData(context.getJavaClass(cg));
if (classFilter(cg, classMetaData, definition)) {
return;
}
//todo: what is this cache for ? not compliant for 0.10
//if (m_transformed.contains(cg.getClassName())) {
// return;
//}
//m_transformed.add(cg.getClassName());
ConstantPoolGen cpg = cg.getConstantPool();
InstructionFactory factory = new InstructionFactory(cg);
if (definition.isAttribDef()) {
org.codehaus.aspectwerkz.attribdef.transform.IntroductionTransformer.addMethodIntroductions(
definition, context, classMetaData, cg, cpg, factory, this
);
}
else if (definition.isXmlDef()) {
org.codehaus.aspectwerkz.xmldef.transform.IntroductionTransformer.addMethodIntroductions(
definition, context, cg, cpg, factory, this
);
}
}