summaryrefslogtreecommitdiff
path: root/vala/valamethod.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-11-21 08:37:32 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2019-11-21 09:16:27 +0100
commita6112f0e7fe849a19fb26db1a56d55dc81659d25 (patch)
treec2c818c231f5e89e1bc4982866fce9621d4df4b9 /vala/valamethod.vala
parent8cd5a579a8a4a6b55c30cdd58387a61ec4b70917 (diff)
downloadvala-a6112f0e7fe849a19fb26db1a56d55dc81659d25.tar.gz
vala: Add a basic parameter check for [Print] methods
and add tests to increase coverage Introdruced with ea8cd97480a7a560cfd8ae3f060f63638b7d9de4
Diffstat (limited to 'vala/valamethod.vala')
-rw-r--r--vala/valamethod.vala5
1 files changed, 5 insertions, 0 deletions
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index 4af74c759..a105a0d0f 100644
--- a/vala/valamethod.vala
+++ b/vala/valamethod.vala
@@ -808,6 +808,11 @@ public class Vala.Method : Subroutine, Callable {
Report.error (parameters[0].source_reference, "Named parameter required before `...'");
}
+ if (get_attribute ("Print") != null && (parameters.size != 1 || parameters[0].variable_type.type_symbol != context.analyzer.string_type.type_symbol)) {
+ error = true;
+ Report.error (source_reference, "[Print] methods must have exactly one parameter of type `string'");
+ }
+
var optional_param = false;
foreach (Parameter param in parameters) {
param.check (context);