[vala] girparser: Fix reporting unused metadata
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] girparser: Fix reporting unused metadata
- Date: Mon, 22 Aug 2011 22:42:19 +0000 (UTC)
commit 4a638a3812f524fcb625f383cb0a7315506892eb
Author: Luca Bruno <lucabru src gnome org>
Date: Mon Aug 22 16:31:41 2011 +0200
girparser: Fix reporting unused metadata
vala/valagirparser.vala | 24 +++++++++++++-----------
vapi/metadata/Gedit-3.0.metadata | 2 --
vapi/metadata/Rest-0.7.metadata | 4 ++--
3 files changed, 15 insertions(+), 15 deletions(-)
---
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 81cf6a8..dd204a3 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -1018,6 +1018,7 @@ public class Vala.GirParser : CodeVisitor {
SourceFile current_source_file;
Node root;
+ ArrayList<Metadata> metadata_roots = new ArrayList<Metadata> ();
SourceLocation begin;
SourceLocation end;
@@ -1059,8 +1060,8 @@ public class Vala.GirParser : CodeVisitor {
root.process (this);
- foreach (var node in root.members) {
- report_unused_metadata (node.metadata);
+ foreach (var metadata in metadata_roots) {
+ report_unused_metadata (metadata);
}
}
@@ -1111,15 +1112,6 @@ public class Vala.GirParser : CodeVisitor {
metadata_stack = new ArrayList<Metadata> ();
metadata = Metadata.empty;
- // load metadata, first look into metadata directories then in the same directory of the .gir.
- string? metadata_filename = context.get_metadata_path (source_file.filename);
- if (metadata_filename != null && FileUtils.test (metadata_filename, FileTest.EXISTS)) {
- var metadata_parser = new MetadataParser ();
- var metadata_file = new SourceFile (context, source_file.file_type, metadata_filename);
- context.add_source_file (metadata_file);
- metadata = metadata_parser.parse_metadata (metadata_file);
- }
-
this.current_source_file = source_file;
reader = new MarkupReader (source_file.filename);
@@ -1752,6 +1744,16 @@ public class Vala.GirParser : CodeVisitor {
return;
}
+ // load metadata, first look into metadata directories then in the same directory of the .gir.
+ string? metadata_filename = context.get_metadata_path (current_source_file.filename);
+ if (metadata_filename != null && FileUtils.test (metadata_filename, FileTest.EXISTS)) {
+ var metadata_parser = new MetadataParser ();
+ var metadata_file = new SourceFile (context, current_source_file.file_type, metadata_filename);
+ context.add_source_file (metadata_file);
+ metadata = metadata_parser.parse_metadata (metadata_file);
+ metadata_roots.add (metadata);
+ }
+
var ns_metadata = metadata.match_child (gir_namespace);
if (ns_metadata.has_argument (ArgumentType.NAME)) {
vala_namespace = ns_metadata.get_string (ArgumentType.NAME);
diff --git a/vapi/metadata/Gedit-3.0.metadata b/vapi/metadata/Gedit-3.0.metadata
index bf2cd5b..b46b2eb 100644
--- a/vapi/metadata/Gedit-3.0.metadata
+++ b/vapi/metadata/Gedit-3.0.metadata
@@ -10,7 +10,6 @@ Encoding cheader_filename="gedit/gedit-encodings.h"
EncodingsComboBox cheader_filename="gedit/gedit-encodings-combo-box.h"
Message cheader_filename="gedit/gedit-message.h"
MessageBus cheader_filename="gedit/gedit-message-bus.h"
-MessageType cheader_filename="gedit/gedit-message-type.h"
// present in the gir but the header is missing
NotebookShowTabsModeType skip=true
Panel cheader_filename="gedit/gedit-panel.h"
@@ -35,4 +34,3 @@ METADATA_* cheader_filename="gedit/gedit-document.h"
MessageBusForeach cheader_filename="gedit/gedit-message-bus.h"
MessageCallback cheader_filename="gedit/gedit-message-bus.h"
-MessageTypeForeach cheader_filename="gedit/gedit-message-type.h"
diff --git a/vapi/metadata/Rest-0.7.metadata b/vapi/metadata/Rest-0.7.metadata
index 8d8ce98..db7a1fb 100644
--- a/vapi/metadata/Rest-0.7.metadata
+++ b/vapi/metadata/Rest-0.7.metadata
@@ -4,7 +4,7 @@ OAuthSignatureMethod cheader_filename="rest/oauth-proxy.h"
OAuth2Proxy cheader_filename="rest/oauth2-proxy.h" cprefix="oauth2_proxy_"
OAuth2ProxyCall cheader_filename="rest/oauth2-proxy-call.h" cprefix="oauth2_proxy_call_"
Proxy cheader_filename="rest/rest-proxy.h"
- .new_call skip=false owned=true
+ .new_call skip=false
.bind skip=false
ProxyCall cheader_filename="rest/rest-proxy-call.h"
.run.loop out=true default=null
@@ -21,7 +21,7 @@ ProxyError cheader_filename="rest/rest-proxy.h"
ProxyCallError cheader_filename="rest/rest-proxy-call.h"
Param cheader_filename="rest/rest-param.h"
Params cheader_filename="rest/rest-params.h"
- .as_string_hash_table skip=false owned=true type_arguments="string,string"
+ .as_string_hash_table skip=false type_arguments="string,string"
ParamsIter cheader_filename="rest/rest-params.h"
XmlNode cheader_filename="rest/rest-xml-node.h"
XmlParser cheader_filename="rest/rest-xml-parser.h"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]