private void OnExpression(Expression node)
{
var member = node.Entity as IAccessibleMember;
if (null == member) return;
if (!IsAccessible(member))
{
Error(CompilerErrorFactory.UnaccessibleMember(node, member));
return;
}
//if member is a property we also want to check the accessor specifically
var property = member as IProperty;
if (null == property)
return;
member = node.IsTargetOfAssignment() ? property.GetSetMethod() : property.GetGetMethod();
if (!IsAccessible(member))
Error(CompilerErrorFactory.UnaccessibleMember(node, member));
}