]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Report unused internal methods
authorJürg Billeter <j@bitron.ch>
Sat, 31 Jan 2009 10:24:35 +0000 (10:24 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 31 Jan 2009 10:24:35 +0000 (10:24 +0000)
2009-01-31  Jürg Billeter  <j@bitron.ch>

* vala/valaflowanalyzer.vala:
* vala/valasymbol.vala:

Report unused internal methods

* gobject/valaccodearraymodule.vala:
* gobject/valaccodeassignmentmodule.vala:
* gobject/valaccodebasemodule.vala:
* gobject/valaccodecontrolflowmodule.vala:
* gobject/valaccodedelegatemodule.vala:
* gobject/valaccodememberaccessmodule.vala:
* gobject/valaccodemethodcallmodule.vala:
* gobject/valaccodemethodmodule.vala:
* gobject/valaccodestructmodule.vala:
* gobject/valadbusclientmodule.vala:
* gobject/valadbusmodule.vala:
* gobject/valadbusservermodule.vala:
* gobject/valagasyncmodule.vala:
* gobject/valagerrormodule.vala:
* gobject/valagobjectmodule.vala:
* gobject/valagsignalmodule.vala:
* gobject/valagtypemodule.vala:

Mark modules as internal

svn path=/trunk/; revision=2412

20 files changed:
ChangeLog
gobject/valaccodearraymodule.vala
gobject/valaccodeassignmentmodule.vala
gobject/valaccodebasemodule.vala
gobject/valaccodecontrolflowmodule.vala
gobject/valaccodedelegatemodule.vala
gobject/valaccodememberaccessmodule.vala
gobject/valaccodemethodcallmodule.vala
gobject/valaccodemethodmodule.vala
gobject/valaccodestructmodule.vala
gobject/valadbusclientmodule.vala
gobject/valadbusmodule.vala
gobject/valadbusservermodule.vala
gobject/valagasyncmodule.vala
gobject/valagerrormodule.vala
gobject/valagobjectmodule.vala
gobject/valagsignalmodule.vala
gobject/valagtypemodule.vala
vala/valaflowanalyzer.vala
vala/valasymbol.vala

index c2d2922f1ae9bd69f5c853d5ea62fb103aabf4d9..90b4974b74de13bfec1be2f1f066fb6466c6960d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2009-01-31  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaflowanalyzer.vala:
+       * vala/valasymbol.vala:
+
+       Report unused internal methods
+
+       * gobject/valaccodearraymodule.vala:
+       * gobject/valaccodeassignmentmodule.vala:
+       * gobject/valaccodebasemodule.vala:
+       * gobject/valaccodecontrolflowmodule.vala:
+       * gobject/valaccodedelegatemodule.vala:
+       * gobject/valaccodememberaccessmodule.vala:
+       * gobject/valaccodemethodcallmodule.vala:
+       * gobject/valaccodemethodmodule.vala:
+       * gobject/valaccodestructmodule.vala:
+       * gobject/valadbusclientmodule.vala:
+       * gobject/valadbusmodule.vala:
+       * gobject/valadbusservermodule.vala:
+       * gobject/valagasyncmodule.vala:
+       * gobject/valagerrormodule.vala:
+       * gobject/valagobjectmodule.vala:
+       * gobject/valagsignalmodule.vala:
+       * gobject/valagtypemodule.vala:
+
+       Mark modules as internal
+
 2009-01-30  Jürg Billeter  <j@bitron.ch>
 
        * vala/valanamespace.vala:
index a9c9b799dc0439bdd443d43a2652d95311840171..87c3c8527cfd92841f9febf4ed0dc7b52484b997 100644 (file)
@@ -24,7 +24,7 @@
 
 using Gee;
 
-public class Vala.CCodeArrayModule : CCodeMethodCallModule {
+class Vala.CCodeArrayModule : CCodeMethodCallModule {
        int next_array_dup_id = 0;
        int next_array_add_id = 0;
 
index 6bf572d3661b6f2d97115e5285cf892ab259eb79..1aa63fc287dad167e63d4a6659f3f3df2d0b71cf 100644 (file)
@@ -28,7 +28,7 @@ using Gee;
 /**
  * The link between an assignment and generated code.
  */
-public class Vala.CCodeAssignmentModule : CCodeMemberAccessModule {
+class Vala.CCodeAssignmentModule : CCodeMemberAccessModule {
        public CCodeAssignmentModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index 7dbe3f3a67609abec37e1bf0f0e5f684a711c229..7db0cd9750e8541b76ed9f09dfedadd67f678e30 100644 (file)
@@ -27,7 +27,7 @@ using Gee;
 /**
  * Code visitor generating C Code.
  */
-public class Vala.CCodeBaseModule : CCodeModule {
+class Vala.CCodeBaseModule : CCodeModule {
        public CodeContext context { get; set; }
 
        public Symbol root_symbol;
@@ -70,7 +70,6 @@ public class Vala.CCodeBaseModule : CCodeModule {
        public CCodeEnum prop_enum;
        public CCodeEnum cenum;
        public CCodeFunction function;
-       public CCodeBlock block;
 
        // code nodes to be inserted before the current statement
        // used by async method calls in coroutines
index 54126d61c345755dafb0daaf71d0db688618fb18..7bf7dd329501ec2b3d36f0180aa910c542c808cb 100644 (file)
@@ -24,7 +24,7 @@
 using GLib;
 using Gee;
 
-public class Vala.CCodeControlFlowModule : CCodeMethodModule {
+class Vala.CCodeControlFlowModule : CCodeMethodModule {
        public CCodeControlFlowModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index 0335479389c8cae3a4ecea908ab35e350d246903..b7bce02100ca4225811e3e3865705e88f71284c8 100644 (file)
@@ -27,7 +27,7 @@ using Gee;
 /**
  * The link between an assignment and generated code.
  */
-public class Vala.CCodeDelegateModule : CCodeArrayModule {
+class Vala.CCodeDelegateModule : CCodeArrayModule {
        public CCodeDelegateModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index 169a585fe65525ebd0045d1b22e25246aa99afef..de40d221e7cdfcbfab96d16059b2bfa1e8a6b092 100644 (file)
@@ -24,7 +24,7 @@
 
 using GLib;
 
-public class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
+class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
        public CCodeMemberAccessModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index c97cea24f7e074b278b6b690b0e482c607cde21f..68101883a203b7da482894bad55a388362388088 100644 (file)
@@ -25,7 +25,7 @@
 using GLib;
 using Gee;
 
-public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
+class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
        public CCodeMethodCallModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index 55d92f5b29e28708b5b36cc2646bb65f4fff0351..4f76fdee202da539feed068941a5b95df708ba2d 100644 (file)
@@ -27,7 +27,7 @@ using Gee;
 /**
  * The link between a method and generated code.
  */
-public class Vala.CCodeMethodModule : CCodeStructModule {
+class Vala.CCodeMethodModule : CCodeStructModule {
        public CCodeMethodModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index 94f11070293c7ae59fcaa3328dfbd4fdb73bd11e..821c238b439ea32b2064bfba8f587ae3320ce911 100644 (file)
@@ -23,7 +23,7 @@
 
 using GLib;
 
-public class Vala.CCodeStructModule : CCodeBaseModule {
+class Vala.CCodeStructModule : CCodeBaseModule {
        public CCodeStructModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index cadd3c65ebbbfc310605373a87211e54dd5dfee3..33274c5199f1dbf748fba0f8692cd1178601aa35 100644 (file)
@@ -28,7 +28,7 @@ using Gee;
 /**
  * The link between a dynamic method and generated code.
  */
-public class Vala.DBusClientModule : DBusModule {
+class Vala.DBusClientModule : DBusModule {
        int dynamic_property_id;
 
        public DBusClientModule (CCodeGenerator codegen, CCodeModule? next) {
index 9e6d5a46a0bda0e01328494ef6f07b8569b25299..c2be091718905077054eec178c30183df19fe9c4 100644 (file)
@@ -20,7 +20,7 @@
  *     Jürg Billeter <j@bitron.ch>
  */
 
-public class Vala.DBusModule : GAsyncModule {
+class Vala.DBusModule : GAsyncModule {
        struct BasicTypeInfo {
                public weak string signature;
                public weak string type_name;
index 47deca3ee631a2d56f635b1045b57fc77dcf0199..4247825ff8dc15c8099d823aac5f9055fd504c69 100644 (file)
@@ -28,7 +28,7 @@ using Gee;
 /**
  * The link between a dynamic method and generated code.
  */
-public class Vala.DBusServerModule : DBusClientModule {
+class Vala.DBusServerModule : DBusClientModule {
        public DBusServerModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index f356f522fa7a14fdfa9c5445cfb85474e1c400cb..38a6f607a42b4c6408d188cf8b72a4dd8d3ef88f 100644 (file)
@@ -23,7 +23,7 @@
 using GLib;
 using Gee;
 
-public class Vala.GAsyncModule : GSignalModule {
+class Vala.GAsyncModule : GSignalModule {
        public GAsyncModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index d098035347497bf93efc6015ce326c8e09f9f30e..3cb41ad3a1b140ba4ebf121455acd9283ca0fe17 100644 (file)
@@ -23,7 +23,7 @@
 using GLib;
 using Gee;
 
-public class Vala.GErrorModule : CCodeDelegateModule {
+class Vala.GErrorModule : CCodeDelegateModule {
        private int current_try_id = 0;
        private int next_try_id = 0;
 
index e572cf968b2b392bf2d73962427a689711dabbb7..4ec1a14eb27fc6c31624ee3976becad2bea264ed 100644 (file)
@@ -24,7 +24,7 @@
 
 using Gee;
 
-public class Vala.GObjectModule : GTypeModule {
+class Vala.GObjectModule : GTypeModule {
        int dynamic_property_id;
        int signal_wrapper_id;
 
index 169ffcd390d15117930f8f81b6684381fc6cbb98..7bee8ec8b2b9840b2da8e5a9da45fc33e9f966c1 100644 (file)
@@ -23,7 +23,7 @@
 
 using GLib;
 
-public class Vala.GSignalModule : GObjectModule {
+class Vala.GSignalModule : GObjectModule {
        public GSignalModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index 6ce84b7509791cbd1301ff3c2e97e8bdfe197257..e1e6b5920a92622469748d16b3eaf0ff4afc4b56 100644 (file)
@@ -23,7 +23,7 @@
 
 using GLib;
 
-public class Vala.GTypeModule : GErrorModule {
+class Vala.GTypeModule : GErrorModule {
        public GTypeModule (CCodeGenerator codegen, CCodeModule? next) {
                base (codegen, next);
        }
index ba65c7f41a0f7d7f562a1b91fbd3ca8938323f08..06b79f8b6f81d94af46f2697346c733fc246ac17 100644 (file)
@@ -123,17 +123,15 @@ public class Vala.FlowAnalyzer : CodeVisitor {
        }
 
        public override void visit_field (Field f) {
-               if (f.access != SymbolAccessibility.PUBLIC
-                   && f.access != SymbolAccessibility.PROTECTED
-                   && !f.used) {
+               if (f.is_library_internal_symbol () && !f.used) {
                        Report.warning (f.source_reference, "field `%s' never used".printf (f.get_full_name ()));
                }
        }
 
        public override void visit_method (Method m) {
-               if (m.access != SymbolAccessibility.PUBLIC
-                   && m.access != SymbolAccessibility.PROTECTED
-                   && !m.used && !m.entry_point) {
+               if (m.is_library_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 ()));
                }
 
index ca92e92c48e521db36eeeb961a5ee1849c241c1b..2478b14a3005837e81895286075bac376151ffc0 100644 (file)
@@ -101,6 +101,17 @@ public abstract class Vala.Symbol : CodeNode {
                return false;
        }
 
+       public bool is_library_internal_symbol () {
+               for (Symbol sym = this; null != sym; sym = sym.parent_symbol) {
+                       if (sym.access == SymbolAccessibility.PRIVATE
+                           || sym.access == SymbolAccessibility.INTERNAL) {
+                               return true;
+                       }
+               }
+
+               return false;
+       }
+
        public Scope scope {
                get { return _scope; }
        }