View Issue Details

IDProjectCategoryView StatusLast Update
0000141Ecere SDKcompilerpublic2013-09-30 08:59
Reporterjerome Assigned Tojerome  
PriorityimmediateSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version0.44.10 64Fixed in Version0.44.10 64 
Summary0000141: Not enough arguments warnings
DescriptionHere are 2 different scenarios of extra warnings when accessing methods from the class (One with unrelated class, and one with adaptive method):

class InventoryItem
{
  public:
  int code;
  float price;
  public:
  void Print()
  {
     printf("Code: %d,Price: %.2f\n",code,price);
  }
  InventoryItem()
  {
  PrintLn("Constructor...");
  }
  ~InventoryItem()
  {
  PrintLn("Destructor...");
  }
  void ::printClassString()
  {
     PrintLn("This is a InventoryItem class");
  }

}
class HelperClass
{
  void InventoryItem::PrintItem()
  {
     Print();
  }
  void HelperClass::DoSomething()
  {
     PrintLn("Doing something special...");
  }
}

InventoryItem globalItem{1234,45.0f};

class InventoryApp:Application
{

  InventoryItem memberItem{5678,50.0f};

  void Main()
  {
      InventoryItem localItem{9012,55.0f};
      HelperClass helpClass{};
      HelperClass helpClass1{};

      globalItem.Print();
      memberItem.Print();
      localItem.Print();

      InventoryItem::printClassString();


      helpClass.PrintItem(globalItem);
      PrintLn("\n\n");
      HelperClass::PrintItem(memberItem);//warning: not enough arguments for method HelperClass::PrintItem (1 given, expected 0)

      PrintLn("\n\n");
      helpClass1.DoSomething(helpClass);
      HelperClass::DoSomething(helpClass1);//warning: not enough arguments for method HelperClass::DoSomething (1 given, expected 0)

      delete localItem;

     system("PAUSE");
  }
}


TagsNo tags attached.

Activities

jerome

2012-07-31 03:23

administrator   ~0000623

Yet another example:


import "ecere"

class Form1 : Window
{
   Button button1
   {
      bool NotifyClicked(Button button, int x, int y, Modifiers mods)
      {
         Button::NotifyClicked(this, button, x, y, mods);
         return true;
      }
   };
}

   src\patient.ec:523:10: warning: not enough arguments for method SearchBox::NotifyUpdate (2 given, expected 1)

As soon as subclass is specified on a call to a method defined either as an adaptive method, or as taking a different this type than the class in which the method is defined, this hilarious mismatch occurs.

jerome

2013-09-29 21:56

administrator   ~0001091

KCMD:

src\broadcast.ec:690:13: warning: not enough arguments for method TargetsList::UpdatePriorities (3 given, expected 2)
src\broadcast.ec:713:13: warning: not enough arguments for method TargetsList::UpdatePriorities (3 given, expected 2)

src\contacts.ec:1334:10: warning: not enough arguments for method eda::EditFieldDropDataBox::NotifyChanged (2 given, expected 1)
src\contacts.ec:1334:52: warning: incompatible expression closingDropDown (bool); expected ecere::gui::Window
src\contacts.ec:2026:10: warning: not enough arguments for method eda::FieldDataBox::NotifyModified (1 given, expected 0)

jerome

2013-09-29 21:58

administrator   ~0001092

WSMS:

src\wsn.ec:396:10: warning: not enough arguments for function RefillTrade (1 given, expected 0)

jerome

2013-09-29 22:26

administrator   ~0001093

Paper2PACS:

src\dicomServices.ec:402:13: warning: not enough arguments for function asc.ProcessObject (2 given, expected 1)
src\dicomServices.ec:402:39: warning: incompatible expression this (MyDICOMSocket); expected DICOMServiceClass

jerome

2013-09-30 08:59

administrator   ~0001096

Fixed by https://github.com/ecere/ecere-sdk/commit/124a4859e0b25040284453392d77f0b788739bc8

Issue History

Date Modified Username Field Change
2008-09-18 17:00 jerome New Issue
2012-03-08 16:51 redj Target Version => 0.45 Ginkakuji
2012-03-29 07:50 redj Category => eC Compiling Tools
2012-03-29 07:50 redj Project @2@ => Ecere SDK
2012-07-31 03:23 jerome Note Added: 0000623
2012-07-31 03:23 jerome Priority normal => immediate
2012-07-31 03:23 jerome Target Version 0.45 Ginkakuji => 0.44 Ryoan-ji
2012-07-31 03:24 jerome Target Version 0.44 Ryoan-ji => 0.44.1 Android
2013-09-22 20:36 jerome Assigned To => jerome
2013-09-22 20:36 jerome Status new => assigned
2013-09-22 20:36 jerome Target Version 0.44.12 Fixes => 0.44.10 64
2013-09-29 21:56 jerome Note Added: 0001091
2013-09-29 21:58 jerome Note Added: 0001092
2013-09-29 22:26 jerome Note Added: 0001093
2013-09-30 08:59 jerome Note Added: 0001096
2013-09-30 08:59 jerome Status assigned => closed
2013-09-30 08:59 jerome Resolution open => fixed
2013-09-30 08:59 jerome Fixed in Version => 0.44.10 64