URL:
  <http://gna.org/bugs/?7244>

                 Summary: public/private/protected inconsistency in class
headers
                 Project: Wormux
            Submitted by: drayan
            Submitted on: vendredi 29.09.2006 à 22:08
                Category: compilation
                Priority: 3 - Low
                Severity: 3 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: 1280+

    _______________________________________________________

Details:

I have made a little script in bash. It's a little sluggish and I think it
could be better to rewrite this tools in another real langage. Anyway, I've
got some result.

The basic idea is to go throught every class and extract every method's
prototype (check_src.sh).

After this first step, we take Every Class and every methods and for each
parent class, we look if the prototype signature is the same.

With this utility, I was able to detect every visibility issue (in parent
class, the method is public but in son class, it's protected or whatever) and
the const issue in ShotgunBuckshot (as an exemple).

Good news, there's no other const issue in Wormux. Bad news, there's quite a
lot of difference in the visibility status.

Here is the result of the script :
[EMAIL PROTECTED] src]$ egrep -e "EXPECTED|CLASS" check.lst
  EXPECTED = AirAttack/protected:virtual bool p_Shoot( );
  IN CLASS = AirAttack/private:bool p_Shoot( );
  EXPECTED = AirAttack/protected:virtual void Refresh( );
  IN CLASS = AirAttack/public:void Refresh( );
  EXPECTED = Airhammer/protected:virtual void p_Deselect( );
  IN CLASS = Airhammer/private:void p_Deselect( );
  EXPECTED = Airhammer/protected:virtual bool p_Shoot( );
  IN CLASS = Airhammer/private:bool p_Shoot( );
  EXPECTED = Airhammer/protected:virtual void Refresh( );
  IN CLASS = Airhammer/public:void Refresh( );
  EXPECTED = AutomaticBazooka/protected:virtual void Refresh( );
  IN CLASS = AutomaticBazooka/public:void Refresh( );
  EXPECTED = AutomaticBazooka/protected:virtual void p_Select( );
  IN CLASS = AutomaticBazooka/public:void p_Select( );
  EXPECTED = AutomaticBazooka/protected:virtual void p_Select( );
  IN CLASS = AutomaticBazooka/public:void p_Select( );
  EXPECTED = AutomaticBazooka/protected:virtual void p_Deselect( );
  IN CLASS = AutomaticBazooka/public:void p_Deselect( );
  EXPECTED = AutomaticBazooka/protected:virtual void p_Deselect( );
  IN CLASS = AutomaticBazooka/public:void p_Deselect( );
  EXPECTED = Baseball/protected:virtual bool p_Shoot( );
  IN CLASS = Baseball/private:bool p_Shoot( );
  EXPECTED = Baseball/protected:virtual void Refresh( );
  IN CLASS = Baseball/public:void Refresh( );
  EXPECTED = BonusBox/protected:virtual void SignalCollision( );
  IN CLASS = BonusBox/public:virtual void SignalCollision( );
  EXPECTED = BonusBox/protected:virtual void SignalObjectCollision(
PhysicalObj * );
  IN CLASS = BonusBox/public:virtual void SignalObjectCollision( PhysicalObj
* );
  EXPECTED = BounceBallLauncher/protected:virtual bool p_Shoot( );
  IN CLASS = BounceBallLauncher/private:bool p_Shoot( );
  EXPECTED = BounceBallLauncher/protected:virtual bool p_Shoot( );
  IN CLASS = BounceBallLauncher/private:bool p_Shoot( );
  EXPECTED = Construct/protected:virtual bool p_Shoot( );
  IN CLASS = Construct/private:bool p_Shoot( );
  EXPECTED = Construct/protected:virtual void Refresh( );
  IN CLASS = Construct/public:void Refresh( );
  EXPECTED = Dynamite/protected:virtual bool p_Shoot( );
  IN CLASS = Dynamite/private:bool p_Shoot( );
  EXPECTED = Dynamite/protected:virtual bool p_Shoot( );
  IN CLASS = Dynamite/private:bool p_Shoot( );
  EXPECTED = GunBullet/protected:virtual void ShootSound( );
  IN CLASS = GunBullet/private:void ShootSound( );
  EXPECTED = Gun/protected:virtual bool p_Shoot( );
  IN CLASS = Gun/public:bool p_Shoot( );
  EXPECTED = Gun/protected:virtual bool p_Shoot( );
  IN CLASS = Gun/public:bool p_Shoot( );
  EXPECTED = HollyGrenade/protected:virtual void Explosion( );
  IN CLASS = HollyGrenade/public:void Explosion( );
  EXPECTED = JetPack/protected:virtual void Refresh( );
  IN CLASS = JetPack/public:void Refresh( );
  EXPECTED = JetPack/protected:virtual void p_Select( );
  IN CLASS = JetPack/public:void p_Select( );
  EXPECTED = JetPack/protected:virtual void p_Deselect( );
  IN CLASS = JetPack/public:void p_Deselect( );
  EXPECTED = JetPack/protected:virtual bool p_Shoot( );
  IN CLASS = JetPack/public:bool p_Shoot( );
  EXPECTED = LowGrav/protected:virtual void Refresh( );
  IN CLASS = LowGrav/public:void Refresh( );
  EXPECTED = LowGrav/protected:virtual void p_Deselect( );
  IN CLASS = LowGrav/public:void p_Deselect( );
  EXPECTED = LowGrav/protected:virtual bool p_Shoot( );
  IN CLASS = LowGrav/public:bool p_Shoot( );
  EXPECTED = Mine/protected:virtual bool p_Shoot( );
  IN CLASS = Mine/private:bool p_Shoot( );
  EXPECTED = Mine/protected:virtual bool p_Shoot( );
  IN CLASS = Mine/private:bool p_Shoot( );
  EXPECTED = NinjaRope/protected:virtual void Refresh( );
  IN CLASS = NinjaRope/public:void Refresh( );
  EXPECTED = NinjaRope/protected:virtual void p_Deselect( );
  IN CLASS = NinjaRope/public:void p_Deselect( );
  EXPECTED = NinjaRope/protected:virtual bool p_Shoot( );
  IN CLASS = NinjaRope/public:bool p_Shoot( );
  EXPECTED = NinjaRope/public:virtual void SignalTurnEnd( );
  IN CLASS = NinjaRope/protected:void SignalTurnEnd( );
  EXPECTED = Parachute/protected:virtual void p_Select( );
  IN CLASS = Parachute/public:void p_Select( );
  EXPECTED = Parachute/protected:virtual void p_Deselect( );
  IN CLASS = Parachute/public:void p_Deselect( );
  EXPECTED = Parachute/protected:virtual void Refresh( );
  IN CLASS = Parachute/public:void Refresh( );
  EXPECTED = Parachute/protected:virtual bool p_Shoot( );
  IN CLASS = Parachute/public:bool p_Shoot( );
  EXPECTED = PetrolBarrel/protected:virtual void SignalDeath( );
  IN CLASS = PetrolBarrel/public:void SignalDeath( );
  EXPECTED = ShotgunBuckshot/public:virtual bool IsOverlapping(
constPhysicalObj * )const;
  IN CLASS = ShotgunBuckshot/public:bool IsOverlapping( PhysicalObj * );
  EXPECTED = Shotgun/protected:virtual bool p_Shoot( );
  IN CLASS = Shotgun/public:bool p_Shoot( );
  EXPECTED = Shotgun/protected:virtual bool p_Shoot( );
  IN CLASS = Shotgun/public:bool p_Shoot( );
  EXPECTED = SkipTurn/protected:virtual bool p_Shoot( );
  IN CLASS = SkipTurn/private:bool p_Shoot( );
  EXPECTED = SkipTurn/protected:virtual void Refresh( );
  IN CLASS = SkipTurn/public:void Refresh( );
  EXPECTED = SnipeBullet/protected:virtual void ShootSound( );
  IN CLASS = SnipeBullet/private:void ShootSound( );
  EXPECTED = SnipeRifle/protected:virtual bool p_Shoot( );
  IN CLASS = SnipeRifle/private:bool p_Shoot( );
  EXPECTED = SnipeRifle/protected:virtual bool p_Shoot( );
  IN CLASS = SnipeRifle/private:bool p_Shoot( );
  EXPECTED = SnipeRifle/public:virtual void SignalProjectileGhostState( );
  IN CLASS = SnipeRifle/protected:void SignalProjectileGhostState( );
  EXPECTED = SubMachineGunBullet/protected:virtual void ShootSound( );
  IN CLASS = SubMachineGunBullet/private:void ShootSound( );
  EXPECTED = SubMachineGun/protected:virtual bool p_Shoot( );
  IN CLASS = SubMachineGun/public:bool p_Shoot( );
  EXPECTED = SubMachineGun/protected:virtual bool p_Shoot( );
  IN CLASS = SubMachineGun/public:bool p_Shoot( );
  EXPECTED = Suicide/protected:virtual bool p_Shoot( );
  IN CLASS = Suicide/private:bool p_Shoot( );
  EXPECTED = Suicide/protected:virtual void p_Select( );
  IN CLASS = Suicide/public:void p_Select( );
  EXPECTED = Suicide/protected:virtual void Refresh( );
  IN CLASS = Suicide/public:void Refresh( );
  EXPECTED = Teleportation/protected:virtual bool p_Shoot( );
  IN CLASS = Teleportation/private:bool p_Shoot( );
  EXPECTED = Teleportation/protected:virtual void Refresh( );
  IN CLASS = Teleportation/public:void Refresh( );
  EXPECTED = WeaponLauncher/protected:virtual void Refresh( );
  IN CLASS = WeaponLauncher/public:void Refresh( );
  EXPECTED = WeaponProjectile/public:void RemoveFromPhysicalEngine( );
  IN CLASS = WeaponProjectile/protected:void RemoveFromPhysicalEngine( );








    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?7244>

_______________________________________________
  Message posté via/par Gna!
  http://gna.org/


_______________________________________________
Wormux-gna mailing list
[email protected]
https://mail.gna.org/listinfo/wormux-gna

Reply via email to