virtual ASTType *getType() { ASTType *lhsty = lhs->getType(); if(lhsty->getPointerElementTy()) { return lhsty->getPointerElementTy(); } if(lhsty->isTuple()) { int ind = index->asInteger(); return lhsty->asTuple()->getMemberType(ind); } //XXX provide type if expression is const and type is struct? return NULL; }
virtual int64_t asInteger() { return expression->asInteger(); }