func (w *World) compileIndexExpr(n *ast.IndexExpr) Expr { x := w.compileExpr(n.X) kind := x.Type().Kind() if !(kind == reflect.Array || kind == reflect.Slice) { panic(err(n.Pos(), "can not index", x.Type())) } i := typeConv(n.Index.Pos(), w.compileExpr(n.Index), int_t) return &index{x, i} }
func (rp *rewritePackage) indexExprTFunc(indexExpr *ast.IndexExpr) { if index, ok := indexExpr.Index.(*ast.BasicLit); ok { indexExpr.Index = rp.wrapBasicLitWithT(index) } }