|
From: <jom...@us...> - 2010-06-28 12:30:06
|
Revision: 1601
http://jason.svn.sourceforge.net/jason/?rev=1601&view=rev
Author: jomifred
Date: 2010-06-28 12:29:59 +0000 (Mon, 28 Jun 2010)
Log Message:
-----------
fix bug related to makVarAnnon when a var is ground with a list
Modified Paths:
--------------
trunk/src/jason/asSyntax/VarTerm.java
trunk/src/jason/stdlib/findall.java
trunk/src/test/ListTermTest.java
Modified: trunk/src/jason/asSyntax/VarTerm.java
===================================================================
--- trunk/src/jason/asSyntax/VarTerm.java 2010-06-03 19:03:22 UTC (rev 1600)
+++ trunk/src/jason/asSyntax/VarTerm.java 2010-06-28 12:29:59 UTC (rev 1601)
@@ -420,7 +420,7 @@
public Literal makeVarsAnnon(Unifier un) {
if (value == null)
return super.makeVarsAnnon(un);
- else if (getValue().isLiteral())
+ else if (getValue().isLiteral() || getValue().isList())
return ((Literal)getValue()).makeVarsAnnon(un);
else
return null;
Modified: trunk/src/jason/stdlib/findall.java
===================================================================
--- trunk/src/jason/stdlib/findall.java 2010-06-03 19:03:22 UTC (rev 1600)
+++ trunk/src/jason/stdlib/findall.java 2010-06-28 12:29:59 UTC (rev 1601)
@@ -96,7 +96,6 @@
Term var = args[0];
LogicalFormula logExpr = (LogicalFormula)args[1];
-
ListTerm all = new ListTermImpl();
ListTerm tail = all;
Iterator<Unifier> iu = logExpr.logicalConsequence(ts.getAg(), un);
Modified: trunk/src/test/ListTermTest.java
===================================================================
--- trunk/src/test/ListTermTest.java 2010-06-03 19:03:22 UTC (rev 1600)
+++ trunk/src/test/ListTermTest.java 2010-06-28 12:29:59 UTC (rev 1601)
@@ -337,6 +337,21 @@
assertEquals("[[a, b, c, 8]]", iterator2list(l3.subSets(4)).toString());
}
+ public void testMkVarAn() {
+ ListTermImpl l = (ListTermImpl)ListTermImpl.parseList("[use(car,Agent)]");
+ l.makeVarsAnnon();
+ assertTrue(l.toString().indexOf("_") > 0);
+
+ l = (ListTermImpl)ListTermImpl.parseList("[use(car,Agent)]");
+
+ VarTerm v = new VarTerm("V");
+ Unifier u = new Unifier();
+ u.unifies(v, l);
+ v.apply(u);
+ v.makeVarsAnnon();
+ assertTrue(v.toString().indexOf("_") > 0);
+ }
+
@SuppressWarnings("unchecked")
List iterator2list(Iterator i) {
List l = new ArrayList();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|