summaryrefslogtreecommitdiff
path: root/vala/valainterface.vala
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2008-11-09 18:44:16 +0000
committerJürg Billeter <juergbi@src.gnome.org>2008-11-09 18:44:16 +0000
commitd793aff50f212dc5e698e9f35216b3ed03d6cc18 (patch)
treea525e7c6cc087a6f091e4aca2b86bf4ffaeefc0e /vala/valainterface.vala
parent955c4f6c3e8bf120d363015897528567b2df23ed (diff)
downloadvala-d793aff50f212dc5e698e9f35216b3ed03d6cc18.tar.gz
Ensure attributes of base types are processed before querying C header
2008-11-09 Jürg Billeter <j@bitron.ch> * vala/valaclass.vala: * vala/valainterface.vala: * vala/valamemberaccess.vala: * vala/valaobjecttype.vala: * vala/valasemanticanalyzer.vala: Ensure attributes of base types are processed before querying C header filenames svn path=/trunk/; revision=2004
Diffstat (limited to 'vala/valainterface.vala')
-rw-r--r--vala/valainterface.vala9
1 files changed, 8 insertions, 1 deletions
diff --git a/vala/valainterface.vala b/vala/valainterface.vala
index 306eb21d6..195582cb3 100644
--- a/vala/valainterface.vala
+++ b/vala/valainterface.vala
@@ -550,6 +550,12 @@ public class Vala.Interface : ObjectTypeSymbol {
process_attributes ();
+ var old_source_file = analyzer.current_source_file;
+ var old_symbol = analyzer.current_symbol;
+
+ if (source_reference != null) {
+ analyzer.current_source_file = source_reference.file;
+ }
analyzer.current_symbol = this;
foreach (DataType prerequisite_reference in get_prerequisites ()) {
@@ -586,7 +592,8 @@ public class Vala.Interface : ObjectTypeSymbol {
accept_children (analyzer);
- analyzer.current_symbol = analyzer.current_symbol.parent_symbol;
+ analyzer.current_source_file = old_source_file;
+ analyzer.current_symbol = old_symbol;
return !error;
}