diff options
author | Maciej Piechotka <uzytkownik2@gmail.com> | 2013-05-12 11:18:27 +0100 |
---|---|---|
committer | Luca Bruno <lucabru@src.gnome.org> | 2014-03-24 21:05:27 +0100 |
commit | 970f58989a2863faca11e30fdbcf4da1273a6acd (patch) | |
tree | 4a4e75d3fd0cffb31819c0fb012e5202682dc31f /codegen/valaccodestructmodule.vala | |
parent | 5d370fcd029c39c621449f8d29768dec7a294a24 (diff) | |
download | vala-970f58989a2863faca11e30fdbcf4da1273a6acd.tar.gz |
Hide internal methods in ABI
Fixes bug 700157
Diffstat (limited to 'codegen/valaccodestructmodule.vala')
-rw-r--r-- | codegen/valaccodestructmodule.vala | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/codegen/valaccodestructmodule.vala b/codegen/valaccodestructmodule.vala index 51cef5d56..86b1b9b02 100644 --- a/codegen/valaccodestructmodule.vala +++ b/codegen/valaccodestructmodule.vala @@ -121,6 +121,8 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { var function = new CCodeFunction (get_ccode_dup_function (st), get_ccode_name (st) + "*"); if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", "const " + get_ccode_name (st) + "*")); decl_space.add_function_declaration (function); @@ -128,6 +130,8 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { function = new CCodeFunction (get_ccode_free_function (st), "void"); if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", get_ccode_name (st) + "*")); decl_space.add_function_declaration (function); @@ -136,6 +140,8 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { function = new CCodeFunction (get_ccode_copy_function (st), "void"); if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", "const " + get_ccode_name (st) + "*")); function.add_parameter (new CCodeParameter ("dest", get_ccode_name (st) + "*")); @@ -144,6 +150,8 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { function = new CCodeFunction (get_ccode_destroy_function (st), "void"); if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", get_ccode_name (st) + "*")); decl_space.add_function_declaration (function); @@ -234,8 +242,10 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { void add_struct_free_function (Struct st) { var function = new CCodeFunction (get_ccode_free_function (st), "void"); - if (st.access == SymbolAccessibility.PRIVATE) { + if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", get_ccode_name (st) + "*")); @@ -259,8 +269,10 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { void add_struct_copy_function (Struct st) { var function = new CCodeFunction (get_ccode_copy_function (st), "void"); - if (st.access == SymbolAccessibility.PRIVATE) { + if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", "const " + get_ccode_name (st) + "*")); @@ -292,8 +304,10 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule { push_context (instance_finalize_context); var function = new CCodeFunction (get_ccode_destroy_function (st), "void"); - if (st.access == SymbolAccessibility.PRIVATE) { + if (st.is_private_symbol ()) { function.modifiers = CCodeModifiers.STATIC; + } else if (context.hide_internal && st.is_internal_symbol ()) { + function.modifiers = CCodeModifiers.INTERNAL; } function.add_parameter (new CCodeParameter ("self", get_ccode_name (st) + "*")); |