summaryrefslogtreecommitdiff
path: root/codegen/valaccodestructmodule.vala
diff options
context:
space:
mode:
authorMaciej Piechotka <uzytkownik2@gmail.com>2013-05-12 11:18:27 +0100
committerLuca Bruno <lucabru@src.gnome.org>2014-03-24 21:05:27 +0100
commit970f58989a2863faca11e30fdbcf4da1273a6acd (patch)
tree4a4e75d3fd0cffb31819c0fb012e5202682dc31f /codegen/valaccodestructmodule.vala
parent5d370fcd029c39c621449f8d29768dec7a294a24 (diff)
downloadvala-970f58989a2863faca11e30fdbcf4da1273a6acd.tar.gz
Hide internal methods in ABI
Fixes bug 700157
Diffstat (limited to 'codegen/valaccodestructmodule.vala')
-rw-r--r--codegen/valaccodestructmodule.vala20
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) + "*"));