public override void OnReferenceExpression(ReferenceExpression node)
{
IExternalEntity member = TypeSystemServices.GetOptionalEntity(node) 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));
}
}