diff options
author | Luca Bruno <lucabru@src.gnome.org> | 2014-02-01 10:22:41 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-03-11 13:52:38 +0100 |
commit | 9355eb0c209b5111d551959a034189032a582aac (patch) | |
tree | ca31aaab662f0171d8f38822ea1d9e05475c0fdb | |
parent | c62bfa6b6d25b323b7dff2faa0709df33a51de72 (diff) | |
download | vala-9355eb0c209b5111d551959a034189032a582aac.tar.gz |
Visit all nodes for transformation, not only the source ones
-rw-r--r-- | codegen/valaccodetransformer.vala | 6 | ||||
-rw-r--r-- | vala/valacodetransformer.vala | 9 |
2 files changed, 8 insertions, 7 deletions
diff --git a/codegen/valaccodetransformer.vala b/codegen/valaccodetransformer.vala index 8e28b1f97..b63c20211 100644 --- a/codegen/valaccodetransformer.vala +++ b/codegen/valaccodetransformer.vala @@ -70,6 +70,10 @@ public class Vala.CCodeTransformer : CodeTransformer { } public override void visit_method (Method m) { + if (m.body == null) { + return; + } + m.accept_children (this); } @@ -421,7 +425,7 @@ public class Vala.CCodeTransformer : CodeTransformer { Expression replacement = null; var old_parent_node = expr.parent_node; - var target_type = expr.target_type != null ? expr.target_type.copy () : null; + var target_type = copy_type (expr.target_type); push_builder (new CodeBuilder (context, parent_statement, expr.source_reference)); if (context.analyzer.get_current_non_local_symbol (expr) is Block diff --git a/vala/valacodetransformer.vala b/vala/valacodetransformer.vala index 86e3a2d01..3e9f6ffae 100644 --- a/vala/valacodetransformer.vala +++ b/vala/valacodetransformer.vala @@ -54,12 +54,9 @@ public class Vala.CodeTransformer : CodeVisitor { /* we're only interested in non-pkg source files */ var source_files = context.get_source_files (); foreach (SourceFile file in source_files) { - if (file.file_type == SourceFileType.SOURCE || - (context.header_filename != null && file.file_type == SourceFileType.FAST)) { - /* clear wrapper cache for every file */ - wrapper_cache = new HashMap<string, CodeNode> (str_hash, str_equal); - file.accept (this); - } + /* clear wrapper cache for every file */ + wrapper_cache = new HashMap<string, CodeNode> (str_hash, str_equal); + file.accept (this); } } |