public override void visit_field (Field f) {
if (f.is_internal_symbol () && !f.used) {
- Report.warning (f.source_reference, "field `%s' never used".printf (f.get_full_name ()));
+ if (!f.is_private_symbol () && context.internal_header_filename != null) {
+ // do not warn if internal member may be used outside this compilation unit
+ } else {
+ Report.warning (f.source_reference, "field `%s' never used".printf (f.get_full_name ()));
+ }
}
}
if (m.is_internal_symbol () && !m.used && !m.entry_point
&& !m.overrides && (m.base_interface_method == null || m.base_interface_method == m)
&& !(m is CreationMethod)) {
- Report.warning (m.source_reference, "method `%s' never used".printf (m.get_full_name ()));
+ if (!m.is_private_symbol () && context.internal_header_filename != null) {
+ // do not warn if internal member may be used outside this compilation unit
+ } else {
+ Report.warning (m.source_reference, "method `%s' never used".printf (m.get_full_name ()));
+ }
}
if (m.body == null) {