Exemple #1
0
        public Expression Parse(CsExpression pStatement, FactoryExpressionCreator pCreator)
        {
            // "base" "[" expression-list "]"
            CsBaseIndexerAccess indexerAccess = (CsBaseIndexerAccess)pStatement;

            return(ElementAccessHelper.getIndexerExpression(indexerAccess, indexerAccess.expression_list.list, null, false, false, pCreator));
        }
Exemple #2
0
        public TheIndexer GetIndexer(CsExpression pIndexer)
        {
            CsBaseIndexerAccess csbia = pIndexer as CsBaseIndexerAccess;
            CsIndexer           i;
            CsEntityProperty    p;

            if (csbia != null)
            {
                p = (CsEntityProperty)csbia.entity;
                if (p == null)
                {
                    return(null);
                }

                i = (CsIndexer)p.decl;
                if (i == null)
                {
                    return(null);
                }

                return(_indexers.ContainsKey(i) ? _indexers[i] : null);
            }

            CsElementAccess csea = pIndexer as CsElementAccess;

            if (csea != null)
            {
                p = (CsEntityProperty)csea.entity;
                if (p == null)
                {
                    return(null);
                }

                i = (CsIndexer)p.decl;
                if (i == null)
                {
                    return(null);
                }

                return(_indexers.ContainsKey(i) ? _indexers[i] : null);
            }

            throw new NotImplementedException();
        }