public override bool Equals(object obj) { MissingMethod other = obj as MissingMethod; return(other != null && other.declaringType == declaringType && other.name == name && other.signature.Equals(signature)); }
internal override MethodBase FindMethod(string name, MethodSignature signature) { MethodInfo method = new MissingMethod(this, name, signature); if (name == ".ctor") { return(new ConstructorInfoImpl(method)); } return(method); }
internal MethodBase GetMissingMethodOrThrow(Module requester, Type declaringType, string name, MethodSignature signature) { if (resolveMissingMembers) { MethodBase method = new MissingMethod(declaringType, name, signature); if (name == ".ctor") { method = new ConstructorInfoImpl((MethodInfo)method); } if (ResolvedMissingMember != null) { ResolvedMissingMember(requester, method); } return(method); } throw new MissingMethodException(declaringType.ToString() + "." + name); }
public MissingGenericMethodBuilder(Type declaringType, CallingConventions callingConvention, string name, int genericParameterCount) { method = new MissingMethod(declaringType, name, new MethodSignature(null, null, new PackedCustomModifiers(), callingConvention, genericParameterCount)); }
internal ParameterInfoImpl(MissingMethod method, int index) { this.method = method; this.index = index; }