[vala/wip/transform: 339/373] Fix result var for pre/post conditions
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/transform: 339/373] Fix result var for pre/post conditions
- Date: Mon, 22 Oct 2018 15:00:36 +0000 (UTC)
commit 06822408f744f95e32c214e561346c330e073330
Author: Luca Bruno <lucabru src gnome org>
Date: Sat May 4 11:30:05 2013 +0200
Fix result var for pre/post conditions
vala/valasemanticanalyzer.vala | 2 +-
vala/valasubroutine.vala | 12 +++++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala
index 40b6d7aab..6f47a207b 100644
--- a/vala/valasemanticanalyzer.vala
+++ b/vala/valasemanticanalyzer.vala
@@ -142,7 +142,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
}
public bool is_local_symbol (Symbol sym) {
- if ((sym is LocalVariable || sym is Constant) && sym.parent_symbol is Block) {
+ if (sym is LocalVariable || (sym is Constant && sym.parent_symbol is Block)) {
return true;
}
return false;
diff --git a/vala/valasubroutine.vala b/vala/valasubroutine.vala
index 0ef8bf333..14e2b963b 100644
--- a/vala/valasubroutine.vala
+++ b/vala/valasubroutine.vala
@@ -32,10 +32,20 @@ public abstract class Vala.Subroutine : Symbol {
/**
* Specifies the generated `result` variable for postconditions.
*/
- public LocalVariable result_var { get; set; }
+ public LocalVariable result_var {
+ get { return _result_var; }
+ set {
+ _result_var = value;
+ if (_result_var != null) {
+ scope.add ("result", _result_var);
+ }
+ }
+ }
public abstract bool has_result { get; }
+ private LocalVariable _result_var;
+
protected Subroutine (string? name, SourceReference? source_reference, Comment? comment = null) {
base (name, source_reference, comment);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]