override public void OnReferenceExpression(ReferenceExpression node) { IExternalEntity member = node.Entity as IExternalEntity; if (member == null) //extract to OnInternalReferenceExpression { OnInternalReferenceExpression(node); return; } System.Attribute[] attributes = System.Attribute.GetCustomAttributes(member.MemberInfo, typeof(ObsoleteAttribute)); foreach (ObsoleteAttribute attr in attributes) { if (attr.IsError) { Errors.Add( CompilerErrorFactory.Obsolete(node, member.ToString(), attr.Message)); } else { Warnings.Add( CompilerWarningFactory.Obsolete(node, member.ToString(), attr.Message)); } } }
override public void OnReferenceExpression(ReferenceExpression node) { var member = node.Entity as IMember; if (member == null) { return; } foreach (var attr in ObsoleteAttributesIn(member)) { if (attr.IsError) { Errors.Add(CompilerErrorFactory.Obsolete(node, member, attr.Message)); } else { Warnings.Add(CompilerWarningFactory.Obsolete(node, member, attr.Message)); } } }