public virtual bool CheckAccessibility(InterfaceMemberBase member) { if (parameter_type == null) { return(true); } return(member.IsAccessibleAs(parameter_type)); }
/// <summary> /// Performs checks for an explicit interface implementation. First it /// checks whether the `interface_type' is a base inteface implementation. /// Then it checks whether `name' exists in the interface type. /// </summary> public bool VerifyImplements (InterfaceMemberBase mb) { var ifaces = PartialContainer.Interfaces; if (ifaces != null) { foreach (TypeSpec t in ifaces){ if (t == mb.InterfaceType || t == null) return true; var expanded_base = t.Interfaces; if (expanded_base == null) continue; foreach (var bt in expanded_base) { if (bt == mb.InterfaceType) return true; } } } Report.SymbolRelatedToPreviousError (mb.InterfaceType); Report.Error (540, mb.Location, "`{0}': containing type does not implement interface `{1}'", mb.GetSignatureForError (), mb.InterfaceType.GetSignatureForError ()); return false; }
public void UpdateName (InterfaceMemberBase member) { SetMemberName (SetupName (prefix, member, Location)); }
static MemberName SetupName (string prefix, InterfaceMemberBase member, Location loc) { return new MemberName (member.MemberName.Left, prefix + member.ShortName, member.MemberName.ExplicitInterface, loc); }
public AbstractPropertyEventMethod (InterfaceMemberBase member, string prefix, Attributes attrs, Location loc) : base (member.Parent, SetupName (prefix, member, loc), attrs) { this.prefix = prefix; }
public MethodData (InterfaceMemberBase member, Modifiers modifiers, MethodAttributes flags, IMethodData method, MethodSpec parent_method) : this (member, modifiers, flags, method) { this.parent_method = parent_method; }
public MethodData (InterfaceMemberBase member, Modifiers modifiers, MethodAttributes flags, IMethodData method) { this.member = member; this.modifiers = modifiers; this.flags = flags; this.method = method; }
public virtual bool CheckAccessibility (InterfaceMemberBase member) { if (parameter_type == null || TypeManager.IsGenericParameter (parameter_type)) return true; return member.IsAccessibleAs (parameter_type); }
public virtual bool CheckAccessibility (InterfaceMemberBase member) { if (parameter_type == null) return true; return member.IsAccessibleAs (parameter_type); }
public override bool CheckAccessibility (InterfaceMemberBase member) { return true; }
public override bool CheckAccessibility(InterfaceMemberBase member) { return(true); }
public MethodData (InterfaceMemberBase member, Modifiers modifiers, MethodAttributes flags, IMethodData method, MethodBuilder builder, GenericMethod generic, MethodSpec parent_method) : this (member, modifiers, flags, method) { this.builder = builder; this.GenericMethod = generic; this.parent_method = parent_method; }
public void AddGenericMember (MemberInfo mi, InterfaceMemberBase mc) { AddMember (mi.MemberType, GetBindingFlags (mc.ModFlags), Container, MemberName.MakeName (mc.GetFullName (mc.MemberName), mc.MemberName.TypeArguments), mi); }
public AbstractPropertyEventMethod(InterfaceMemberBase member, Accessor accessor, string prefix) : base(member.Parent, SetupName (prefix, member, accessor.Location), accessor.Attributes) { this.prefix = prefix; this.block = accessor.Block; }
private void AddMemberToList (InterfaceMemberBase mc, List<MemberCore> alist) { if (ordered_explicit_member_list == null) { ordered_explicit_member_list = new List<MemberCore> (); ordered_member_list = new List<MemberCore> (); } if (mc.IsExplicitImpl) { if (Kind == MemberKind.Interface) { Report.Error (541, mc.Location, "`{0}': explicit interface declaration can only be declared in a class or struct", mc.GetSignatureForError ()); } ordered_explicit_member_list.Add (mc); alist.Insert (0, mc); } else { ordered_member_list.Add (mc); alist.Add (mc); } }
void AddExplicitInterfaces (MonoDevelop.Projects.Dom.AbstractMember member, InterfaceMemberBase mcsMember) { if (!mcsMember.IsExplicitImpl) return; member.AddExplicitInterface (ConvertReturnType (mcsMember.MemberName.Left)); }
/// <summary> /// Performs checks for an explicit interface implementation. First it /// checks whether the `interface_type' is a base inteface implementation. /// Then it checks whether `name' exists in the interface type. /// </summary> public bool VerifyImplements (InterfaceMemberBase mb) { var ifaces = spec.Interfaces; if (ifaces != null) { foreach (TypeSpec t in ifaces){ if (t == mb.InterfaceType) return true; } } Report.SymbolRelatedToPreviousError (mb.InterfaceType); Report.Error (540, mb.Location, "`{0}': containing type does not implement interface `{1}'", mb.GetSignatureForError (), mb.InterfaceType.GetSignatureForError ()); return false; }
/// <summary> /// Performs checks for an explicit interface implementation. First it /// checks whether the `interface_type' is a base inteface implementation. /// Then it checks whether `name' exists in the interface type. /// </summary> public bool VerifyImplements (InterfaceMemberBase mb) { if (ifaces != null) { foreach (Type t in ifaces){ if (TypeManager.IsEqual (t, mb.InterfaceType)) return true; } } Report.SymbolRelatedToPreviousError (mb.InterfaceType); Report.Error (540, mb.Location, "`{0}': containing type does not implement interface `{1}'", mb.GetSignatureForError (), TypeManager.CSharpName (mb.InterfaceType)); return false; }