public void dumpExpression(TabbedPrintWriter writer)
			throws java.io.IOException {
		Type flat = type.getCanonic();
		int depth = 0;
		while (flat instanceof ArrayType) {
			flat = ((ArrayType) flat).getElementType();
			depth++;
		}
		writer.print("new ");
		writer.printType(flat.getHint());
		for (int i = 0; i < depth; i++) {
			writer.breakOp();
			writer.print("[");
			if (i < subExpressions.length)
				subExpressions[i].dumpExpression(writer, 0);
			writer.print("]");
		}
	}