From 36833ec263eeb43b98d51a5d9fc3fd98223cbd83 Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Fri, 12 Jun 2015 15:02:22 -0400 Subject: [PATCH] fixed another oneString CGenerator bug. Most of these should really be removed, but I wanna commit this one now --- src/CGenerator.cpp | 2 +- tests/test_cgen_bug.expected_results | 2 ++ tests/test_cgen_bug.krak | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 tests/test_cgen_bug.expected_results create mode 100644 tests/test_cgen_bug.krak diff --git a/src/CGenerator.cpp b/src/CGenerator.cpp index 832356f..393f5b5 100644 --- a/src/CGenerator.cpp +++ b/src/CGenerator.cpp @@ -572,7 +572,7 @@ CCodeTriple CGenerator::generate(NodeTree* from, NodeTree* enc } } else { //return "((" + generate(children[1], enclosingObject) + ")" + name + generate(children[2], enclosingObject) + ")"; - return "((" + generate(children[1], enclosingObject, true).oneString() + ")" + name + generate(children[2], nullptr, true).oneString() + ")"; + return "((" + generate(children[1], enclosingObject, true) + ")" + name + generate(children[2], nullptr, true) + ")"; } } else { //It's a normal function call, not a special one or a method or anything. Name decorate. diff --git a/tests/test_cgen_bug.expected_results b/tests/test_cgen_bug.expected_results new file mode 100644 index 0000000..b261da1 --- /dev/null +++ b/tests/test_cgen_bug.expected_results @@ -0,0 +1,2 @@ +1 +0 diff --git a/tests/test_cgen_bug.krak b/tests/test_cgen_bug.krak new file mode 100644 index 0000000..cddfd25 --- /dev/null +++ b/tests/test_cgen_bug.krak @@ -0,0 +1,14 @@ +import io:* +import vector:* + +fun onlyMatch(vec: vector, matchWith: int): vector { + return vec.filter(fun(it:int, other:int):bool { return it == other; }, matchWith) +} + +fun main():int { + var vec = vector(7) + println(onlyMatch(vec,7).size) + println(onlyMatch(vec,9).size) + + return 0 +}