[vala/staging] Recurse more child expressions for error types
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging] Recurse more child expressions for error types
- Date: Wed, 1 Apr 2020 19:28:38 +0000 (UTC)
commit 2165f6915f753c7823ce1a53d735c556f5d0a329
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Wed Apr 1 21:22:27 2020 +0200
Recurse more child expressions for error types
vala/valamemberinitializer.vala | 7 +++++++
vala/valaobjectcreationexpression.vala | 12 +++++++++---
2 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/vala/valamemberinitializer.vala b/vala/valamemberinitializer.vala
index 436423aa5..fc068280c 100644
--- a/vala/valamemberinitializer.vala
+++ b/vala/valamemberinitializer.vala
@@ -72,6 +72,13 @@ public class Vala.MemberInitializer : CodeNode {
return initializer.check (context);
}
+ public override void get_error_types (Collection<DataType> collection, SourceReference?
source_reference = null) {
+ if (source_reference == null) {
+ source_reference = this.source_reference;
+ }
+ initializer.get_error_types (collection, source_reference);
+ }
+
public override void emit (CodeGenerator codegen) {
initializer.emit (codegen);
}
diff --git a/vala/valaobjectcreationexpression.vala b/vala/valaobjectcreationexpression.vala
index 7c76f7a82..36b25bda3 100644
--- a/vala/valaobjectcreationexpression.vala
+++ b/vala/valaobjectcreationexpression.vala
@@ -504,13 +504,19 @@ public class Vala.ObjectCreationExpression : Expression {
}
public override void get_error_types (Collection<DataType> collection, SourceReference?
source_reference = null) {
+ if (source_reference == null) {
+ source_reference = this.source_reference;
+ }
if (symbol_reference is Method) {
- if (source_reference == null) {
- source_reference = this.source_reference;
- }
var m = (Method) symbol_reference;
m.get_error_types (collection, source_reference);
}
+ foreach (Expression expr in argument_list) {
+ expr.get_error_types (collection, source_reference);
+ }
+ foreach (MemberInitializer init in object_initializer) {
+ init.get_error_types (collection, source_reference);
+ }
}
public override void emit (CodeGenerator codegen) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]