}
private string get_default_real_name () {
- var m = (Method) sym;
- if (m is CreationMethod) {
+ if (sym is CreationMethod) {
+ var m = (CreationMethod) sym;
var parent = m.parent_symbol as Class;
if (parent == null || parent.is_compact) {
} else {
return "%s%s_%s".printf (CCodeBaseModule.get_ccode_lower_case_prefix (parent), infix, m.name);
}
- } else {
+ } else if (sym is Method) {
+ var m = (Method) sym;
if (m.base_method != null || m.base_interface_method != null) {
return "%sreal_%s".printf (CCodeBaseModule.get_ccode_lower_case_prefix (m.parent_symbol), m.name);
} else {
return name;
}
+ } else if (sym is PropertyAccessor) {
+ var acc = (PropertyAccessor) sym;
+ var prop = (Property) acc.prop;
+ if (prop.base_property != null || prop.base_interface_property != null) {
+ if (acc.readable) {
+ return "%sreal_get_%s".printf (CCodeBaseModule.get_ccode_lower_case_prefix (prop.parent_symbol), prop.name);
+ } else {
+ return "%sreal_set_%s".printf (CCodeBaseModule.get_ccode_lower_case_prefix (prop.parent_symbol), prop.name);
+ }
+ } else {
+ return name;
+ }
}
+ assert_not_reached ();
}
private string get_default_const_name () {
if (!prop.is_abstract) {
bool is_virtual = prop.base_property != null || prop.base_interface_property != null;
- string cname;
- if (is_virtual) {
- if (acc.readable) {
- cname = "%s_real_get_%s".printf (get_ccode_lower_case_name (t, null), prop.name);
- } else {
- cname = "%s_real_set_%s".printf (get_ccode_lower_case_name (t, null), prop.name);
- }
- } else {
- cname = get_ccode_name (acc);
- }
+ string cname = get_ccode_real_name (acc);
CCodeFunction function;
if (acc.writable || acc.construction || returns_real_struct) {
return m.get_attribute_bool ("CCode", "simple_generics");
}
- public static string get_ccode_real_name (Method m) {
- return get_ccode_attribute(m).real_name;
+ public static string get_ccode_real_name (Symbol sym) {
+ return get_ccode_attribute(sym).real_name;
}
public static string get_ccode_vfunc_name (Method m) {
ccast.add_argument (new CCodeIdentifier ("klass"));
if (prop.get_accessor != null) {
- string cname = "%s_real_get_%s".printf (get_ccode_lower_case_name (cl, null), prop.name);
+ string cname = CCodeBaseModule.get_ccode_real_name (prop.get_accessor);
ccode.add_assignment (new CCodeMemberAccess.pointer (ccast, "get_%s".printf (prop.name)), new CCodeIdentifier (cname));
}
if (prop.set_accessor != null) {
- string cname = "%s_real_set_%s".printf (get_ccode_lower_case_name (cl, null), prop.name);
+ string cname = CCodeBaseModule.get_ccode_real_name (prop.set_accessor);
ccode.add_assignment (new CCodeMemberAccess.pointer (ccast, "set_%s".printf (prop.name)), new CCodeIdentifier (cname));
}
}
var ciface = new CCodeIdentifier ("iface");
if (prop.get_accessor != null) {
- string cname = "%s_real_get_%s".printf (get_ccode_lower_case_name (cl, null), prop.name);
+ string cname = CCodeBaseModule.get_ccode_real_name (prop.get_accessor);
if (prop.is_abstract || prop.is_virtual) {
cname = "%s_get_%s".printf (get_ccode_lower_case_name (cl, null), prop.name);
}
ccode.add_assignment (new CCodeMemberAccess.pointer (ciface, "get_%s".printf (prop.name)), cfunc);
}
if (prop.set_accessor != null) {
- string cname = "%s_real_set_%s".printf (get_ccode_lower_case_name (cl, null), prop.name);
+ string cname = CCodeBaseModule.get_ccode_real_name (prop.set_accessor);
if (prop.is_abstract || prop.is_virtual) {
cname = "%s_set_%s".printf (get_ccode_lower_case_name (cl, null), prop.name);
}