From c5e8eb76ee8881f684170d05a62cfb14e182a040 Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Tue, 11 Oct 2016 15:29:47 +0200 Subject: [PATCH] make VectorPrinter more resilient to "null" values --- .../r/nodes/builtin/base/printer/VectorPrinter.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/printer/VectorPrinter.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/printer/VectorPrinter.java index a6162c91a0..544f8bfe59 100644 --- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/printer/VectorPrinter.java +++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/printer/VectorPrinter.java @@ -330,7 +330,7 @@ abstract class VectorPrinter<T extends RAbstractVector> extends AbstractValuePri w[j] = formatVector(0, 0); } - if (cl != null) { + if (cl != null && cl.getDataAt(j) != null) { String clj = cl.getDataAt(j); if (RRuntime.isNA(clj)) { clabw = pp.getNaWidthNoquote(); @@ -413,7 +413,7 @@ abstract class VectorPrinter<T extends RAbstractVector> extends AbstractValuePri private void matrixColumnLabel(RAbstractStringVector cl, int j, int w) { PrintParameters pp = printCtx.parameters(); - if (cl != null) { + if (cl != null && cl.getDataAt(j) != null) { String tmp = cl.getDataAt(j); int l = (RRuntime.isNA(tmp)) ? pp.getNaWidthNoquote() : tmp.length(); int gap = w - l; @@ -433,7 +433,7 @@ abstract class VectorPrinter<T extends RAbstractVector> extends AbstractValuePri protected void rightMatrixColumnLabel(RAbstractStringVector cl, int j, int w) { PrintParameters pp = printCtx.parameters(); - if (cl != null) { + if (cl != null && cl.getDataAt(j) != null) { String tmp = cl.getDataAt(j); int l = (RRuntime.isNA(tmp)) ? pp.getNaWidthNoquote() : tmp.length(); /* @@ -458,7 +458,7 @@ abstract class VectorPrinter<T extends RAbstractVector> extends AbstractValuePri protected void leftMatrixColumnLabel(RAbstractStringVector cl, int j, int w) { PrintParameters pp = printCtx.parameters(); - if (cl != null) { + if (cl != null && cl.getDataAt(j) != null) { String tmp = cl.getDataAt(j); int l = (RRuntime.isNA(tmp)) ? pp.getNaWidthNoquote() : tmp.length(); String g1 = asBlankArg(pp.getGap()); @@ -480,7 +480,7 @@ abstract class VectorPrinter<T extends RAbstractVector> extends AbstractValuePri protected void matrixRowLabel(RAbstractStringVector rl, int i, int rlabw, int lbloff) { PrintParameters pp = printCtx.parameters(); - if (rl != null) { + if (rl != null && rl.getDataAt(i) != null) { String tmp = rl.getDataAt(i); int l = (RRuntime.isNA(tmp)) ? pp.getNaWidthNoquote() : tmp.length(); String gap = asBlankArg(rlabw - l - lbloff); -- GitLab