From: <jer...@us...> - 2013-10-02 17:17:09
|
Revision: 7431 http://bigdata.svn.sourceforge.net/bigdata/?rev=7431&view=rev Author: jeremy_carroll Date: 2013-10-02 17:17:02 +0000 (Wed, 02 Oct 2013) Log Message: ----------- defensive code concerning typing Modified Paths: -------------- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/AssignmentNode.java branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/UnionNode.java Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/AssignmentNode.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/AssignmentNode.java 2013-10-02 01:44:18 UTC (rev 7430) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/AssignmentNode.java 2013-10-02 17:17:02 UTC (rev 7431) @@ -5,6 +5,7 @@ import com.bigdata.bop.BOp; import com.bigdata.bop.IValueExpression; import com.bigdata.bop.IVariable; +import com.bigdata.bop.ModifiableBOpBase; import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility; @@ -48,6 +49,7 @@ public AssignmentNode(BOp[] args, Map<String, Object> anns) { super(args, anns); + assert args[0] instanceof VarNode; } @@ -148,4 +150,17 @@ return super.replaceAllWith(oldVal, newVal); } + + @Override + public ModifiableBOpBase setArgs(final BOp[] args) { + assert args[0] instanceof VarNode; + return super.setArgs(args); + } + + + @Override + public ModifiableBOpBase setArg(final int index, final BOp newArg) { + assert index != 0 || newArg instanceof VarNode; + return super.setArg(index, newArg); + } } Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/UnionNode.java =================================================================== --- branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/UnionNode.java 2013-10-02 01:44:18 UTC (rev 7430) +++ branches/BIGDATA_RELEASE_1_3_0/bigdata-rdf/src/java/com/bigdata/rdf/sparql/ast/UnionNode.java 2013-10-02 17:17:02 UTC (rev 7431) @@ -37,10 +37,13 @@ public UnionNode(BOp[] args, Map<String, Object> anns) { super(args, anns); + for (BOp x:args) { + assert x instanceof JoinGroupNode; + } } -// /** + // /** // * Construct a non-optional union. // */ public UnionNode() { @@ -111,5 +114,23 @@ return true; } - + + @Override + public void addArg(final BOp newArg) { + assert newArg instanceof JoinGroupNode; + super.addArg(newArg); + } + + @Override + public void addArg(final int index, final BOp newArg) { + assert newArg instanceof JoinGroupNode; + super.addArg(index, newArg); + + } + + @Override + public int replaceWith(final BOp oldChild, final BOp newChild) { + assert newChild instanceof JoinGroupNode; + return super.replaceWith(oldChild, newChild); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |