This is an automated email from the ASF dual-hosted git repository.
mboehm7 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemds.git
The following commit(s) were added to refs/heads/master by this push:
new c97a245 [MINOR] Improved error handling eval (returns) and parser
(slice/fcall)
c97a245 is described below
commit c97a2454570c92966f4290c9b117547df3f152e0
Author: Matthias Boehm <[email protected]>
AuthorDate: Fri Aug 13 23:16:37 2021 +0200
[MINOR] Improved error handling eval (returns) and parser (slice/fcall)
---
.../java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java | 7 ++++---
.../sysds/runtime/instructions/cp/EvalNaryCPInstruction.java | 4 ++++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git
a/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
b/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
index dc56248..8c8a449 100644
--- a/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
+++ b/src/main/java/org/apache/sysds/parser/dml/DmlSyntacticValidator.java
@@ -558,11 +558,12 @@ public class DmlSyntacticValidator implements DmlListener
{
}
@Override
- public void exitFunctionCallMultiAssignmentStatement(
- FunctionCallMultiAssignmentStatementContext ctx) {
+ public void
exitFunctionCallMultiAssignmentStatement(FunctionCallMultiAssignmentStatementContext
ctx) {
+ if( ctx.name == null )
+ throw new ParseException("Missing name of
multi-assignment function call (see parser issues above).");
String[] names = getQualifiedNames(ctx.name.getText());
if(names == null) {
- notifyErrorListeners("incorrect function name (only
namespace.functionName allowed. Hint: If you are trying to use builtin
functions, you can skip the namespace)", ctx.name);
+ notifyErrorListeners("incorrect function name (only
namespace::functionName allowed. Hint: If you are trying to use builtin
functions, you can skip the namespace)", ctx.name);
return;
}
String namespace = names[0];
diff --git
a/src/main/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.java
b/src/main/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.java
index 4548b7b..db5676f 100644
---
a/src/main/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.java
+++
b/src/main/java/org/apache/sysds/runtime/instructions/cp/EvalNaryCPInstruction.java
@@ -159,6 +159,10 @@ public class EvalNaryCPInstruction extends
BuiltinNaryCPInstruction {
mb =
DataConverter.convertToMatrixBlock(((FrameObject) newOutput).acquireRead());
ec.cleanupCacheableData((FrameObject)
newOutput);
}
+ else {
+ throw new DMLRuntimeException("Invalid eval
return type: "+newOutput.getDataType().name()
+ + " (valid: matrix/frame/scalar; where
frames or scalars are converted to output matrices)");
+ }
outputMO.acquireModify(mb);
outputMO.release();
ec.setVariable(output.getName(), outputMO);