public virtual MemberExpr ResolveMemberAccess (ResolveContext ec, Expression left, SimpleName original)
{
- if (left != null && !ConditionalAccess && left.IsNull && TypeSpec.IsReferenceType (left.Type)) {
+ if (left != null && !ConditionalAccess && !ec.HasSet (ResolveContext.Options.NameOfScope) && left.IsNull && TypeSpec.IsReferenceType (left.Type)) {
ec.Report.Warning (1720, 1, left.Location,
"Expression will always cause a `{0}'", "System.NullReferenceException");
}
ResolveInstanceExpression (rc, null);
DoBestMemberChecks (rc, constant);
+ if (rc.HasSet (ResolveContext.Options.NameOfScope)) {
+ eclass = ExprClass.Value;
+ type = constant.MemberType;
+ return this;
+ }
+
var c = constant.GetConstant (rc);
// Creates reference expression to the constant value