From 84a9ba57f6c1aad12c9b769671bcbab0ff89cc9c Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Sat, 12 Jan 2008 13:01:31 +0000 Subject: [PATCH] restore current_return_type after processing lambda expressions, fixes bug 2008-01-12 Juerg Billeter * vala/valasemanticanalyzer.vala: restore current_return_type after processing lambda expressions, fixes bug 501586 svn path=/trunk/; revision=833 --- ChangeLog | 5 +++++ vala/valasemanticanalyzer.vala | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index be04f5f..6e0e608 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-01-12 Jürg Billeter + * vala/valasemanticanalyzer.vala: restore current_return_type + after processing lambda expressions, fixes bug 501586 + +2008-01-12 Jürg Billeter + * vala/valasemanticanalyzer.vala: fix null dereference when trying to access members of a delegate diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index f1037ee..97e961e 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -349,6 +349,8 @@ public class Vala.SemanticAnalyzer : CodeVisitor { } } + var old_symbol = current_symbol; + var old_return_type = current_return_type; current_symbol = m; current_return_type = m.return_type; @@ -364,8 +366,8 @@ public class Vala.SemanticAnalyzer : CodeVisitor { m.accept_children (this); - current_symbol = current_symbol.parent_symbol; - current_return_type = null; + current_symbol = old_symbol; + current_return_type = old_return_type; if (current_symbol.parent_symbol is Method) { /* lambda expressions produce nested methods */ -- 2.7.4