38 internal abstract MethodSignature MethodSignature {
get; }
39 internal abstract int ParameterCount {
get; }
42 internal abstract Type[] GetParameterTypes();
44 public abstract MethodAttributes Attributes {
get; }
45 public abstract MethodImplAttributes GetMethodImplementationFlags();
46 public abstract MethodBody GetMethodBody();
48 public abstract int __MethodRVA {
get; }
50 public bool IsConstructor
54 if ((Attributes & MethodAttributes.RTSpecialName) != 0)
57 return name == ConstructorInfo.ConstructorName || name ==
ConstructorInfo.TypeConstructorName;
66 get {
return (Attributes & MethodAttributes.Static) != 0; }
71 get {
return (Attributes & MethodAttributes.Virtual) != 0; }
74 public bool IsAbstract
76 get {
return (Attributes & MethodAttributes.Abstract) != 0; }
81 get {
return (Attributes & MethodAttributes.Final) != 0; }
86 get {
return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Public; }
91 get {
return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Family; }
94 public bool IsFamilyOrAssembly
96 get {
return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamORAssem; }
99 public bool IsAssembly
101 get {
return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Assembly; }
104 public bool IsFamilyAndAssembly
106 get {
return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.FamANDAssem; }
109 public bool IsPrivate
111 get {
return (Attributes & MethodAttributes.MemberAccessMask) == MethodAttributes.Private; }
114 public bool IsSpecialName
116 get {
return (Attributes & MethodAttributes.SpecialName) != 0; }
119 public bool IsHideBySig
121 get {
return (Attributes & MethodAttributes.HideBySig) != 0; }
124 public MethodImplAttributes MethodImplementationFlags
126 get {
return GetMethodImplementationFlags(); }
129 public virtual Type[] GetGenericArguments()
131 return Type.EmptyTypes;
134 public virtual bool IsGenericMethod
136 get {
return false; }
139 public virtual bool IsGenericMethodDefinition
141 get {
return false; }
144 public virtual bool ContainsGenericParameters
146 get {
return IsGenericMethodDefinition; }
149 public virtual MethodBase __GetMethodOnTypeDefinition()
156 internal abstract MethodInfo GetMethodOnTypeDefinition();
158 internal abstract int ImportTo(Emit.ModuleBuilder module);
162 internal sealed override bool BindingFlagsMatch(BindingFlags flags)
164 return BindingFlagsMatch(IsPublic, flags, BindingFlags.Public, BindingFlags.NonPublic)
165 && BindingFlagsMatch(IsStatic, flags, BindingFlags.Static, BindingFlags.Instance);
168 internal sealed override bool BindingFlagsMatchInherited(BindingFlags flags)
170 return (Attributes & MethodAttributes.MemberAccessMask) > MethodAttributes.Private
171 && BindingFlagsMatch(IsPublic, flags, BindingFlags.Public, BindingFlags.NonPublic)
172 && BindingFlagsMatch(IsStatic, flags, BindingFlags.Static | BindingFlags.FlattenHierarchy, BindingFlags.Instance);
IKVM.Reflection.Type Type
IKVM.Reflection.ConstructorInfo ConstructorInfo
IKVM.Reflection.MemberInfo MemberInfo
IKVM.Reflection.MethodInfo MethodInfo
IKVM.Reflection.ParameterInfo ParameterInfo
IKVM.Reflection.MethodBase MethodBase
global::java.lang.invoke.LambdaForm.Name Name
System.Runtime.InteropServices.CallingConvention CallingConvention