@Override public void visit(SubscriptExpr expr) { try { output.writeByte(11); writeExpr(expr.getArray()); writeExpr(expr.getIndex()); output.writeByte(expr.getType().ordinal()); } catch (IOException e) { throw new IOExceptionWrapper(e); } }
@Override public void visit(SubscriptExpr expr) { expr.getArray().acceptVisitor(this); expr.getIndex().acceptVisitor(this); }
@Override public void visit(SubscriptExpr expr) { writer.print("ARRAY_AT("); expr.getArray().acceptVisitor(this); writer.print(", ").print(getArrayType(expr.getType())).print(", "); expr.getIndex().acceptVisitor(this); writer.print(")"); }
private WasmExpression getArrayElementPointer(SubscriptExpr expr) { accept(expr.getArray()); WasmExpression array = result;
@Override public void visit(SubscriptExpr expr) { try { if (expr.getLocation() != null) { pushLocation(expr.getLocation()); } precedence = Precedence.MEMBER_ACCESS; expr.getArray().acceptVisitor(this); writer.append('['); precedence = Precedence.min(); expr.getIndex().acceptVisitor(this); writer.append(']'); if (expr.getLocation() != null) { popLocation(); } } catch (IOException e) { throw new RenderingException("IO error occurred", e); } }
@Override public void visit(SubscriptExpr expr) { expr.getArray().acceptVisitor(this); expr.getIndex().acceptVisitor(this); }
@Override public void visit(SubscriptExpr expr) { try { output.writeByte(11); writeExpr(expr.getArray()); writeExpr(expr.getIndex()); output.writeByte(expr.getType().ordinal()); } catch (IOException e) { throw new IOExceptionWrapper(e); } }
@Override public void visit(SubscriptExpr expr) { pushLocation(expr.getLocation()); try { expr.getIndex().acceptVisitor(this); Expr index = resultExpr; expr.getArray().acceptVisitor(this); Expr array = resultExpr; expr.setArray(array); expr.setIndex(index); resultExpr = expr; } finally { popLocation(); } }
private WasmExpression getArrayElementPointer(SubscriptExpr expr) { accept(expr.getArray()); WasmExpression array = result;
@Override public void visit(SubscriptExpr expr) { try { if (expr.getLocation() != null) { pushLocation(expr.getLocation()); } precedence = Precedence.MEMBER_ACCESS; expr.getArray().acceptVisitor(this); writer.append('['); precedence = Precedence.min(); expr.getIndex().acceptVisitor(this); writer.append(']'); if (expr.getLocation() != null) { popLocation(); } } catch (IOException e) { throw new RenderingException("IO error occurred", e); } }