[vala/wip/printer: 2/3] WIP
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/printer: 2/3] WIP
- Date: Thu, 9 Apr 2020 16:16:45 +0000 (UTC)
commit 803cb618f0618b4468a7bbe455e04729bdd3d252
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Thu Apr 9 18:15:38 2020 +0200
WIP
vala/valaparser.vala | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index e6f8adec5..977424cfb 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -1677,8 +1677,8 @@ public class Vala.Parser : CodeVisitor {
}
if (!is_decl) {
- block.add_statement (stmt);
link_src (stmt, current_reference);
+ block.add_statement (stmt);
}
} catch (ParseError e) {
report_parse_error (e);
@@ -1782,6 +1782,7 @@ public class Vala.Parser : CodeVisitor {
Block parse_embedded_statement (string statement_name, bool accept_empty_body = true) throws
ParseError {
if (current () == TokenType.OPEN_BRACE) {
var block = parse_block ();
+ link_src (block);
return block;
}
@@ -1970,7 +1971,9 @@ public class Vala.Parser : CodeVisitor {
DataType type_copy = constant_type.copy ();
var local = parse_local_constant (type_copy);
- block.add_statement (new DeclarationStatement (local, get_src (begin)));
+ var stmt = new DeclarationStatement (local, get_src (begin));
+ link_src (stmt);
+ block.add_statement (stmt);
block.add_local_constant (local);
local.active = false;
} while (accept (TokenType.COMMA));
@@ -2106,7 +2109,6 @@ public class Vala.Parser : CodeVisitor {
// variable declaration in initializer
var decl_begin = get_location ();
block = new Block (get_src (decl_begin));
- link_src (block);
parse_local_variable_declarations (block);
block.source_reference.end = get_last_src ().end;
}
@@ -2133,6 +2135,7 @@ public class Vala.Parser : CodeVisitor {
stmt.add_iterator (iter);
}
if (block != null) {
+ link_src (stmt);
block.add_statement (stmt);
return block;
} else {
@@ -3452,7 +3455,9 @@ public class Vala.Parser : CodeVisitor {
var begin = get_location ();
if (accept (TokenType.ELLIPSIS)) {
// varargs
- return new Parameter.with_ellipsis (get_src (begin));
+ var param = new Parameter.with_ellipsis (get_src (begin));
+ link_src (param);
+ return param;
}
bool params_array = accept (TokenType.PARAMS);
var direction = ParameterDirection.IN;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]