2008-03-22 Jürg Billeter <j@bitron.ch>
+ * vala/parser.y, vala/valanamespace.vala: support nested namespaces,
+ fixes bug 516584
+
+2008-03-22 Jürg Billeter <j@bitron.ch>
+
* ccode/valaccodedeclaration.vala, gobject/valaccodegenerator.vala:
use extern appropriately for static fields,
based on patch by Daniel Silverstone, fixes bug 523768
;
outer_declaration
- : namespace_declaration
- | namespace_member_declaration
+ : namespace_member_declaration
;
opt_namespace_member_declarations
;
namespace_member_declaration
- : class_declaration
+ : namespace_declaration
+ | class_declaration
| struct_declaration
| interface_declaration
| enum_declaration
if (cprefixes.size > 0) {
return cprefixes[0];
} else if (null != name) {
- return name;
+ return parent_symbol.get_cprefix () + name;
} else {
return "";
}
if (name == null) {
lower_case_cprefix = "";
} else {
- lower_case_cprefix = "%s_".printf (camel_case_to_lower_case (name));
+ lower_case_cprefix = "%s%s_".printf (parent_symbol.get_lower_case_cprefix (), camel_case_to_lower_case (name));
}
}
return lower_case_cprefix;
private void process_ccode_attribute (Attribute! a) {
if (a.has_argument ("cprefix")) {
- foreach(string name in a.get_string ("cprefix").split (","))
+ foreach (string name in a.get_string ("cprefix").split (","))
add_cprefix (name);
}
if (a.has_argument ("lower_case_cprefix")) {