Mono.CSharp.TypeManager.GetPredefinedMember C# (CSharp) Method

GetPredefinedMember() static private method

static private GetPredefinedMember ( System.TypeSpec t, MemberFilter filter, bool optional, Mono.CSharp.Location loc ) : MemberSpec
t System.TypeSpec
filter MemberFilter
optional bool
loc Mono.CSharp.Location
return MemberSpec
	static MemberSpec GetPredefinedMember (TypeSpec t, MemberFilter filter, bool optional, Location loc)
	{
		var member = MemberCache.FindMember (t, filter, BindingRestriction.DeclaredOnly);

		if (member != null && member.IsAccessible (InternalType.FakeInternalType))
			return member;

		if (optional)
			return member;

		string method_args = null;
		if (filter.Parameters != null)
			method_args = filter.Parameters.GetSignatureForError ();

		RootContext.ToplevelTypes.Compiler.Report.Error (656, loc, "The compiler required member `{0}.{1}{2}' could not be found or is inaccessible",
			TypeManager.CSharpName (t), filter.Name, method_args);

		return null;
	}