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 <[email protected]>
Authored: Thu Aug 24 16:50:11 2017 -0700
Committer: Deron Eriksson <[email protected]>
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++) {