You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by de...@apache.org on 2017/08/24 23:52:42 UTC
systemml git commit: [SYSTEMML-1859] Throw error for function calls
with extra input args
Repository: systemml
Updated Branches:
refs/heads/master c495533b6 -> 100f2d606
[SYSTEMML-1859] Throw error for function calls with extra input args
If a function call contains more input arguments than defined by the function
signature, throw an error.
Example:
triple = function(double a) return (double z) { z = a*3; }
x = triple(10,11,12)
print(x)
Closes #633.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/100f2d60
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/100f2d60
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/100f2d60
Branch: refs/heads/master
Commit: 100f2d6061e945a914d25eeba458164997b4bb1a
Parents: c495533
Author: Deron Eriksson <de...@apache.org>
Authored: Thu Aug 24 16:50:11 2017 -0700
Committer: Deron Eriksson <de...@apache.org>
Committed: Thu Aug 24 16:50:11 2017 -0700
----------------------------------------------------------------------
src/main/java/org/apache/sysml/parser/StatementBlock.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/100f2d60/src/main/java/org/apache/sysml/parser/StatementBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/StatementBlock.java b/src/main/java/org/apache/sysml/parser/StatementBlock.java
index 768f6c0..1536bbc 100644
--- a/src/main/java/org/apache/sysml/parser/StatementBlock.java
+++ b/src/main/java/org/apache/sysml/parser/StatementBlock.java
@@ -435,9 +435,9 @@ public class StatementBlock extends LiveVariableAnalysis implements ParseInfo
}
StatementBlock sblock = fstmt.getBody().get(0);
- if( fcall.getParamExprs().size() < fstmt.getInputParams().size() ) {
- sourceExpr.raiseValidateError("Wrong number of function parameters: "+
- fcall.getParamExprs().size() + ", but " + fstmt.getInputParams().size()+" expected.");
+ if( fcall.getParamExprs().size() != fstmt.getInputParams().size() ) {
+ sourceExpr.raiseValidateError("Wrong number of function input arguments: "+
+ fcall.getParamExprs().size() + " found, but " + fstmt.getInputParams().size()+" expected.");
}
for (int i =0; i < fstmt.getInputParams().size(); i++) {