public static Expr subscript(Expr array, Expr index, ArrayType type) { SubscriptExpr expr = new SubscriptExpr(); expr.setArray(array); expr.setIndex(index); expr.setType(type); return expr; }
@Override protected Expr clone(Map<Expr, Expr> cache) { Expr known = cache.get(this); if (known != null) { return known; } SubscriptExpr copy = new SubscriptExpr(); copy.setArray(array != null ? array.clone(cache) : null); copy.setIndex(index != null ? index.clone(cache) : null); copy.setType(type); return copy; } }
SubscriptExpr expr = new SubscriptExpr(); expr.setArray(readExpr(input)); expr.setIndex(readExpr(input)); expr.setType(ArrayType.values()[input.readByte()]); return expr;
expr.setIndex(index); resultExpr = expr; } finally {
public static Expr subscript(Expr array, Expr index, ArrayType type) { SubscriptExpr expr = new SubscriptExpr(); expr.setArray(array); expr.setIndex(index); expr.setType(type); return expr; }
@Override protected Expr clone(Map<Expr, Expr> cache) { Expr known = cache.get(this); if (known != null) { return known; } SubscriptExpr copy = new SubscriptExpr(); copy.setArray(array != null ? array.clone(cache) : null); copy.setIndex(index != null ? index.clone(cache) : null); copy.setType(type); return copy; } }
@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(); } }
SubscriptExpr expr = new SubscriptExpr(); expr.setArray(readExpr(input)); expr.setIndex(readExpr(input)); expr.setType(ArrayType.values()[input.readByte()]); return expr;