public MetaInfo getMetaInfo( AccessibleObject accessor )
{
for( Map.Entry<Class<?>, InfoHolder<?>> entry : mixinPropertyDeclarations.entrySet() )
{
InfoHolder<?> holder = entry.getValue();
MetaInfo metaInfo = holder.getMetaInfo( accessor );
if( metaInfo != null )
{
Class<?> mixinType = entry.getKey();
return metaInfo.withAnnotations( mixinType )
.withAnnotations( accessor )
.withAnnotations( accessor instanceof Method ? ((Method)accessor).getReturnType() : ((Field)accessor).getType() );
}
}
// TODO is this code reached at all??
Class<?> declaringType = ((Member)accessor).getDeclaringClass();
return new MetaInfo().withAnnotations( declaringType )
.withAnnotations( accessor )
.withAnnotations( accessor instanceof Method ? ((Method)accessor).getReturnType() : ((Field)accessor).getType() );
}