summaryrefslogtreecommitdiff
path: root/vala/valanamespace.vala
diff options
context:
space:
mode:
authorFlorian Brosch <flo.brosch@gmail.com>2009-09-01 17:04:53 +0200
committerJürg Billeter <j@bitron.ch>2009-09-04 17:55:09 +0200
commit3fe8c8aa53c5c0bb074b7f45db873ded5afccd8e (patch)
tree16ec24214ed199c5e666d1c31ce9036ec812b1e4 /vala/valanamespace.vala
parent392bb600fbda248bba205964c4536e8ad512469a (diff)
downloadvala-3fe8c8aa53c5c0bb074b7f45db873ded5afccd8e.tar.gz
Comment handling improvements
Fixes bug 529040, bug 540513, and bug 546096.
Diffstat (limited to 'vala/valanamespace.vala')
-rw-r--r--vala/valanamespace.vala19
1 files changed, 19 insertions, 0 deletions
diff --git a/vala/valanamespace.vala b/vala/valanamespace.vala
index 14f93c451..7a31c8f89 100644
--- a/vala/valanamespace.vala
+++ b/vala/valanamespace.vala
@@ -37,6 +37,8 @@ public class Vala.Namespace : Symbol {
private Gee.List<Field> fields = new ArrayList<Field> ();
private Gee.List<Method> methods = new ArrayList<Method> ();
+ private Gee.List<Comment> comments = new ArrayList<Comment> ();
+
private Gee.List<string> cprefixes = new ArrayList<string> ();
private string lower_case_cprefix;
@@ -56,6 +58,19 @@ public class Vala.Namespace : Symbol {
access = SymbolAccessibility.PUBLIC;
}
+ public void add_comment (Comment comment) {
+ comments.add (comment);
+ }
+
+ /**
+ * Returns a copy of the list of namespaces.
+ *
+ * @return comment list
+ */
+ public Gee.List<Comment> get_comments () {
+ return new ReadOnlyList<Comment> (comments);
+ }
+
/**
* Adds the specified namespace to this source file.
*
@@ -68,6 +83,7 @@ public class Vala.Namespace : Symbol {
if (old_ns.external_package && !ns.external_package) {
old_ns.source_reference = ns.source_reference;
}
+
foreach (Namespace sub_ns in ns.get_namespaces ()) {
old_ns.add_namespace (sub_ns);
}
@@ -98,6 +114,9 @@ public class Vala.Namespace : Symbol {
foreach (Method m in ns.get_methods ()) {
old_ns.add_method (m);
}
+ foreach (Comment c in ns.get_comments ()) {
+ old_ns.add_comment (c);
+ }
} else {
namespaces.add (ns);
scope.add (ns.name, ns);