public MetaInfo metaInfoFor( AccessibleObject accessor )
{
for( Map.Entry<Class<?>, InfoHolder<?>> entry : mixinPropertyDeclarations.entrySet() )
{
InfoHolder<?> holder = entry.getValue();
MetaInfo metaInfo = holder.metaInfoFor( 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() );
}