summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Fusik <piotr@fusion-lang.org>2024-02-28 15:32:06 +0100
committerPiotr Fusik <piotr@fusion-lang.org>2024-02-28 15:32:06 +0100
commitd45913aeb83607e88217aba0c38355a4b9e828b0 (patch)
tree46dc243947178618822d70c882b57458a206e8d0
parentad3d91ae399c103b67edd823e86ab382faf7625c (diff)
[c] TextWriter.Write(temporaryString).
-rw-r--r--GenC.fu6
-rw-r--r--libfut.cpp6
-rw-r--r--libfut.cs6
-rw-r--r--libfut.js6
4 files changed, 12 insertions, 12 deletions
diff --git a/GenC.fu b/GenC.fu
index 5c774df..0ab9ac4 100644
--- a/GenC.fu
+++ b/GenC.fu
@@ -1812,11 +1812,11 @@ public class GenC : GenCCpp
Write("g_string_append(");
obj.Accept(this, FuPriority.Argument);
Write(", ");
- args[0].Accept(this, FuPriority.Argument);
+ WriteTemporaryOrExpr(args[0], FuPriority.Argument);
}
else {
Write("fputs(");
- args[0].Accept(this, FuPriority.Argument);
+ WriteTemporaryOrExpr(args[0], FuPriority.Argument);
Write(", ");
obj.Accept(this, FuPriority.Argument);
}
@@ -1841,7 +1841,7 @@ public class GenC : GenCCpp
Write(obj.Type.AsClassType().Class.Id == FuId.StringWriterClass ? "g_string_append_printf(" : "fprintf(");
obj.Accept(this, FuPriority.Argument);
Write(", \"%s\\n\", ");
- args[0].Accept(this, FuPriority.Argument);
+ WriteTemporaryOrExpr(args[0], FuPriority.Argument);
WriteChar(')');
}
}
diff --git a/libfut.cpp b/libfut.cpp
index 3db32b8..619a430 100644
--- a/libfut.cpp
+++ b/libfut.cpp
@@ -10696,11 +10696,11 @@ void GenC::writeTextWriterWrite(const FuExpr * obj, const std::vector<std::share
write("g_string_append(");
obj->accept(this, FuPriority::argument);
write(", ");
- (*args)[0]->accept(this, FuPriority::argument);
+ writeTemporaryOrExpr((*args)[0].get(), FuPriority::argument);
}
else {
write("fputs(");
- (*args)[0]->accept(this, FuPriority::argument);
+ writeTemporaryOrExpr((*args)[0].get(), FuPriority::argument);
write(", ");
obj->accept(this, FuPriority::argument);
}
@@ -10725,7 +10725,7 @@ void GenC::writeTextWriterWrite(const FuExpr * obj, const std::vector<std::share
write(obj->type->asClassType()->class_->id == FuId::stringWriterClass ? "g_string_append_printf(" : "fprintf(");
obj->accept(this, FuPriority::argument);
write(", \"%s\\n\", ");
- (*args)[0]->accept(this, FuPriority::argument);
+ writeTemporaryOrExpr((*args)[0].get(), FuPriority::argument);
writeChar(')');
}
}
diff --git a/libfut.cs b/libfut.cs
index 116c76a..e5c4beb 100644
--- a/libfut.cs
+++ b/libfut.cs
@@ -10999,11 +10999,11 @@ namespace Fusion
Write("g_string_append(");
obj.Accept(this, FuPriority.Argument);
Write(", ");
- args[0].Accept(this, FuPriority.Argument);
+ WriteTemporaryOrExpr(args[0], FuPriority.Argument);
}
else {
Write("fputs(");
- args[0].Accept(this, FuPriority.Argument);
+ WriteTemporaryOrExpr(args[0], FuPriority.Argument);
Write(", ");
obj.Accept(this, FuPriority.Argument);
}
@@ -11028,7 +11028,7 @@ namespace Fusion
Write(obj.Type.AsClassType().Class.Id == FuId.StringWriterClass ? "g_string_append_printf(" : "fprintf(");
obj.Accept(this, FuPriority.Argument);
Write(", \"%s\\n\", ");
- args[0].Accept(this, FuPriority.Argument);
+ WriteTemporaryOrExpr(args[0], FuPriority.Argument);
WriteChar(')');
}
}
diff --git a/libfut.js b/libfut.js
index 1358687..07f6c4d 100644
--- a/libfut.js
+++ b/libfut.js
@@ -11377,11 +11377,11 @@ export class GenC extends GenCCpp
this.write("g_string_append(");
obj.accept(this, FuPriority.ARGUMENT);
this.write(", ");
- args[0].accept(this, FuPriority.ARGUMENT);
+ this.#writeTemporaryOrExpr(args[0], FuPriority.ARGUMENT);
}
else {
this.write("fputs(");
- args[0].accept(this, FuPriority.ARGUMENT);
+ this.#writeTemporaryOrExpr(args[0], FuPriority.ARGUMENT);
this.write(", ");
obj.accept(this, FuPriority.ARGUMENT);
}
@@ -11408,7 +11408,7 @@ export class GenC extends GenCCpp
this.write(obj.type.asClassType().class.id == FuId.STRING_WRITER_CLASS ? "g_string_append_printf(" : "fprintf(");
obj.accept(this, FuPriority.ARGUMENT);
this.write(", \"%s\\n\", ");
- args[0].accept(this, FuPriority.ARGUMENT);
+ this.#writeTemporaryOrExpr(args[0], FuPriority.ARGUMENT);
this.writeChar(41);
}
}