From: <jom...@us...> - 2013-10-04 14:35:13
|
Revision: 1750 http://sourceforge.net/p/jason/svn/1750 Author: jomifred Date: 2013-10-04 14:35:08 +0000 (Fri, 04 Oct 2013) Log Message: ----------- fix a bug in meta-vars in plans (like !G[annot(A)]) Modified Paths: -------------- trunk/applications/as-unit-test/src/jason/tests/BugVarsAsGoal.java trunk/release-notes.txt trunk/src/jason/asSyntax/VarTerm.java Modified: trunk/applications/as-unit-test/src/jason/tests/BugVarsAsGoal.java =================================================================== --- trunk/applications/as-unit-test/src/jason/tests/BugVarsAsGoal.java 2013-09-16 12:56:58 UTC (rev 1749) +++ trunk/applications/as-unit-test/src/jason/tests/BugVarsAsGoal.java 2013-10-04 14:35:08 UTC (rev 1750) @@ -19,7 +19,12 @@ ag.parseAScode( "+!g <- +p(ggg); !gg; Y={!ggg}; Y. " + "+!gg : p(X) <- +X; !!X. " + - "+!ggg[source(A)] <- jason.asunit.print(A). " + "+!ggg[source(A)] <- jason.asunit.print(A). "+ + "+!jig[scheme(S)] <- jason.asunit.print(S)." + + "+!jig <- jason.asunit.print(noscheme)." + + "+!test1(S) <- !run(jig,S)." + + "+!test2(G) <- !G." + + "+!run(G,S) <- !G[scheme(S)]." ); } @@ -29,4 +34,15 @@ ag.assertPrint("self", 10); ag.assertPrint("self", 10); } + + @Test(timeout=2000) + public void test1() { + ag.addGoal("test1(s1)"); + ag.assertPrint("s1", 10); + } + @Test(timeout=2000) + public void test2() { + ag.addGoal("test2(jig)"); + ag.assertPrint("noscheme", 10); + } } Modified: trunk/release-notes.txt =================================================================== --- trunk/release-notes.txt 2013-09-16 12:56:58 UTC (rev 1749) +++ trunk/release-notes.txt 2013-10-04 14:35:08 UTC (rev 1750) @@ -1,5 +1,5 @@ --------------------------- -version 1.3.10a +version 1.3.10b revision 1748 on SVN --------------------------- Modified: trunk/src/jason/asSyntax/VarTerm.java =================================================================== --- trunk/src/jason/asSyntax/VarTerm.java 2013-09-16 12:56:58 UTC (rev 1749) +++ trunk/src/jason/asSyntax/VarTerm.java 2013-10-04 14:35:08 UTC (rev 1750) @@ -137,8 +137,9 @@ // +!p[a,b] // Answer: use annots of var, useful for meta-programming like // P[step(N)] - if (vl.isPred() && this.hasAnnot()) // if this var has annots, add them in the value's annots (Experimental) - ((Pred)vl).addAnnots(this.getAnnots()); + if (vl.isLiteral() && this.hasAnnot()) { // if this var has annots, add them in the value's annots (Experimental) + vl = ((Literal)vl).forceFullLiteralImpl().addAnnots(this.getAnnots()); + } value = vl; resetHashCodeCache(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |