package com.telerik.metadata.bcl; import com.telerik.metadata.desc.MetadataInfoAnnotationDescriptor; import com.telerik.metadata.desc.MethodDescriptor; import com.telerik.metadata.desc.TypeDescriptor; import org.apache.bcel.classfile.Method; import org.apache.bcel.generic.Type; public class MethodInfo implements MethodDescriptor { private final Method m; public MethodInfo(Method m) { this.m = m; } @Override public boolean isPublic() { return m.isPublic(); } @Override public boolean isProtected() { return m.isProtected(); } @Override public boolean isSynthetic() { return m.isSynthetic(); } @Override public boolean isStatic() { return m.isStatic(); } @Override public String getName() { return m.getName(); } @Override public String getSignature() { return m.getSignature(); } @Override public TypeDescriptor[] getArgumentTypes() { Type[] ts = m.getArgumentTypes(); TypeDescriptor[] argTypes = new TypeDescriptor[ts.length]; for (int i=0; i<argTypes.length; i++) { argTypes[i] = new TypeInfo(ts[i]); } return argTypes; } @Override public TypeDescriptor getReturnType() { return new TypeInfo(m.getReturnType()); } @Override public MetadataInfoAnnotationDescriptor getMetadataInfoAnnotation() { return null; } }