+ protected virtual void Error_OperatorCannotBeApplied (ResolveContext rc, TypeSpec type)
+ {
+ if (type == InternalType.NullLiteral && rc.IsRuntimeBinder)
+ rc.Report.Error (Report.RuntimeErrorId, loc, "Cannot perform member binding on `null' value");
+ else
+ Unary.Error_OperatorCannotBeApplied (rc, loc, ".", type);
+ }
+
+ public static bool IsValidDotExpression (TypeSpec type)
+ {
+ const MemberKind dot_kinds = MemberKind.Class | MemberKind.Struct | MemberKind.Delegate | MemberKind.Enum |
+ MemberKind.Interface | MemberKind.TypeParameter | MemberKind.ArrayType;
+
+ return (type.Kind & dot_kinds) != 0;
+ }
+