testbot/lib: Improve the PropertyDescriptor methods argument handling.

Francois Gouget fgouget at codeweavers.com
Fri Jun 13 11:19:51 CDT 2014


This standardizes the way we handle the arguments.
Make it so one can readily see the list of arguments the method takes without having to hunt down the implementation of all its ancestors.
Because these are methods the added prototypes have no effect whatsoever as far as Perl is concerned. However they do document which arguments are optional.
---
 testbot/lib/ObjectModel/BasicPropertyDescriptor.pm | 30 ++++++++++------------
 .../lib/ObjectModel/DetailrefPropertyDescriptor.pm | 22 ++++++++--------
 testbot/lib/ObjectModel/EnumPropertyDescriptor.pm  | 25 +++++++++---------
 .../lib/ObjectModel/ItemrefPropertyDescriptor.pm   | 26 +++++++++----------
 testbot/lib/ObjectModel/PropertyDescriptor.pm      | 26 ++++++++++---------
 5 files changed, 64 insertions(+), 65 deletions(-)

diff --git a/testbot/lib/ObjectModel/BasicPropertyDescriptor.pm b/testbot/lib/ObjectModel/BasicPropertyDescriptor.pm
index 2e83b60..e355aa6 100644
--- a/testbot/lib/ObjectModel/BasicPropertyDescriptor.pm
+++ b/testbot/lib/ObjectModel/BasicPropertyDescriptor.pm
@@ -37,44 +37,41 @@ require Exporter;
 @ISA = qw(ObjectModel::PropertyDescriptor Exporter);
 @EXPORT = qw(&CreateBasicPropertyDescriptor);
 
-sub _initialize
+sub _initialize($$$)
 {
-  my $self = shift;
-  my $Type = shift;
-  my $MaxLength = shift;
+  my ($self, $Type, $MaxLength) = @_;
 
   $self->{Class} = "Basic";
   $self->{Type} = $Type;
   $self->{MaxLength} = $MaxLength;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize();
 }
 
-sub GetType
+sub GetType($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Type};
 }
 
-sub GetMaxLength
+sub GetMaxLength($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{MaxLength};
 }
 
-sub GetColNames
+sub GetColNames($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return [$self->{Name}];
 }
 
-sub ValidateValue
+sub ValidateValue($$$)
 {
-  my $self = shift;
-  my ($Value, $IsNew) = @_;
+  my ($self, $Value, $IsNew) = @_;
 
   if ($self->GetIsRequired())
   {
@@ -104,9 +101,10 @@ sub ValidateValue
   return undef;
 }
 
-sub CreateBasicPropertyDescriptor
+sub CreateBasicPropertyDescriptor($$$$$$)
 {
-  return ObjectModel::BasicPropertyDescriptor->new(@_);
+  my ($Name, $DisplayName, $IsKey, $IsRequired, $Type, $MaxLength) = @_;
+  return ObjectModel::BasicPropertyDescriptor->new($Name, $DisplayName, $IsKey, $IsRequired, $Type, $MaxLength);
 }
 
 1;
diff --git a/testbot/lib/ObjectModel/DetailrefPropertyDescriptor.pm b/testbot/lib/ObjectModel/DetailrefPropertyDescriptor.pm
index 4832dd7..9575466 100644
--- a/testbot/lib/ObjectModel/DetailrefPropertyDescriptor.pm
+++ b/testbot/lib/ObjectModel/DetailrefPropertyDescriptor.pm
@@ -30,37 +30,39 @@ require Exporter;
 @ISA = qw(ObjectModel::PropertyDescriptor Exporter);
 @EXPORT = qw(&CreateDetailrefPropertyDescriptor);
 
-sub _initialize
+sub _initialize($$)
 {
-  my $self = shift;
-  my $Creator = shift;
+  my ($self, $Creator) = @_;
 
   $self->{Class} = "Detailref";
   $self->{Creator} = $Creator;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize();
 }
 
-sub GetColNames
+sub GetColNames($)
 {
+  #my ($self) = @_;
   return [];
 }
 
-sub GetCreator
+sub GetCreator($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Creator};
 }
 
-sub ValidateValue
+sub ValidateValue($$$)
 {
+  #my ($self, $Value, $IsNew) = @_;
   return undef;
 }
 
-sub CreateDetailrefPropertyDescriptor
+sub CreateDetailrefPropertyDescriptor($$$$$)
 {
-  return ObjectModel::DetailrefPropertyDescriptor->new(@_);
+  my ($Name, $DisplayName, $IsKey, $IsRequired, $Creator) = @_;
+  return ObjectModel::DetailrefPropertyDescriptor->new($Name, $DisplayName, $IsKey, $IsRequired, $Creator);
 }
 
 1;
diff --git a/testbot/lib/ObjectModel/EnumPropertyDescriptor.pm b/testbot/lib/ObjectModel/EnumPropertyDescriptor.pm
index 3373c47..29c618b 100644
--- a/testbot/lib/ObjectModel/EnumPropertyDescriptor.pm
+++ b/testbot/lib/ObjectModel/EnumPropertyDescriptor.pm
@@ -37,35 +37,33 @@ require Exporter;
 @ISA = qw(ObjectModel::PropertyDescriptor Exporter);
 @EXPORT = qw(&CreateEnumPropertyDescriptor);
 
-sub _initialize
+sub _initialize($$)
 {
-  my $self = shift;
-  my $Values = shift;
+  my ($self, $Values) = @_;
 
   $self->{Class} = "Enum";
   $self->{Values} = $Values;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize();
 }
 
-sub GetValues
+sub GetValues($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Values};
 }
 
-sub GetColNames
+sub GetColNames($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return [$self->{Name}];
 }
 
-sub ValidateValue
+sub ValidateValue($$$)
 {
-  my $self = shift;
-  my ($Value, $IsNew) = @_;
+  my ($self, $Value, $IsNew) = @_;
 
   if ($self->GetIsRequired())
   {
@@ -82,9 +80,10 @@ sub ValidateValue
   return $self->GetDisplayName() . ": Is not valid";
 }
 
-sub CreateEnumPropertyDescriptor
+sub CreateEnumPropertyDescriptor($$$$$)
 {
-  return ObjectModel::EnumPropertyDescriptor->new(@_);
+  my ($Name, $DisplayName, $IsKey, $IsRequired, $Values) = @_;
+  return ObjectModel::EnumPropertyDescriptor->new($Name, $DisplayName, $IsKey, $IsRequired, $Values);
 }
 
 1;
diff --git a/testbot/lib/ObjectModel/ItemrefPropertyDescriptor.pm b/testbot/lib/ObjectModel/ItemrefPropertyDescriptor.pm
index bf2a548..64b577a 100644
--- a/testbot/lib/ObjectModel/ItemrefPropertyDescriptor.pm
+++ b/testbot/lib/ObjectModel/ItemrefPropertyDescriptor.pm
@@ -30,37 +30,34 @@ require Exporter;
 @ISA = qw(ObjectModel::PropertyDescriptor Exporter);
 @EXPORT = qw(&CreateItemrefPropertyDescriptor);
 
-sub _initialize
+sub _initialize($$$)
 {
-  my $self = shift;
-  my $Creator = shift;
-  my $ColNames = shift;
+  my ($self, $Creator, $ColNames) = @_;
 
   $self->{Class} = "Itemref";
   $self->{Creator} = $Creator;
   $self->{ColNames} = $ColNames;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize();
 }
 
-sub GetCreator
+sub GetCreator($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Creator};
 }
 
-sub GetColNames
+sub GetColNames($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{ColNames};
 }
 
-sub ValidateValue
+sub ValidateValue($$$)
 {
-  my $self = shift;
-  my ($Value, $IsNew) = @_;
+  my ($self, $Value, $IsNew) = @_;
 
   if ($self->GetIsRequired() && ! defined($Value))
   {
@@ -70,9 +67,10 @@ sub ValidateValue
   return undef;
 }
 
-sub CreateItemrefPropertyDescriptor
+sub CreateItemrefPropertyDescriptor($$$$$$)
 {
-  return ObjectModel::ItemrefPropertyDescriptor->new(@_);
+  my ($Name, $DisplayName, $IsKey, $IsRequired, $Creator, $ColNames) = @_;
+  return ObjectModel::ItemrefPropertyDescriptor->new($Name, $DisplayName, $IsKey, $IsRequired, $Creator, $ColNames);
 }
 
 1;
diff --git a/testbot/lib/ObjectModel/PropertyDescriptor.pm b/testbot/lib/ObjectModel/PropertyDescriptor.pm
index 5b5cbc4..a8a7271 100644
--- a/testbot/lib/ObjectModel/PropertyDescriptor.pm
+++ b/testbot/lib/ObjectModel/PropertyDescriptor.pm
@@ -36,7 +36,7 @@ use vars qw(@ISA @EXPORT);
 require Exporter;
 @ISA = qw(Exporter);
 
-sub new
+sub new($$$$$@)
 {
   my $class = shift;
   my $Name = shift;
@@ -54,41 +54,43 @@ sub new
   return $self;
 }
 
-sub _initialize
+sub _initialize($)
 {
+  #my ($self) = @_;
 }
 
-sub GetName
+sub GetName($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Name};
 }
 
-sub GetDisplayName
+sub GetDisplayName($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{DisplayName};
 }
 
-sub GetIsKey
+sub GetIsKey($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{IsKey};
 }
 
-sub GetIsRequired
+sub GetIsRequired($)
 {
-  my $self = shift;
+  my ($self) = @_;
+
 
   return $self->{IsRequired};
 }
 
-sub GetClass
+sub GetClass($)
 {
-  my $self = shift;
+  my ($self) = @_;
 
   return $self->{Class};
 }
-- 
2.0.0



More information about the wine-patches mailing list