Esempio n. 1
0
        protected void CheckLvalueProp(EXPRPROP prop)
        {
            Debug.Assert(prop != null);
            Debug.Assert(prop.isLvalue());

            // We have an lvalue property.  Give an error if this is an abstract property
            // or an inaccessible property.

            if (prop.isBaseCall() && prop.mwtSet.Meth().isAbstract)
            {
                ErrorContext.Error(ErrorCode.ERR_AbstractBaseCall, prop.mwtSet);
            }
            else
            {
                CType type = null;
                if (prop.GetOptionalObjectThrough() != null)
                {
                    type = prop.GetOptionalObjectThrough().type;
                }

                CheckPropertyAccess(prop.mwtSet, prop.pwtSlot, type);
            }
        }