Changeset cb54527 for perl/lib/Net/XMPP


Ignore:
Timestamp:
Mar 26, 2007, 9:04:54 PM (14 years ago)
Author:
Nelson Elhage <nelhage@mit.edu>
Branches:
master, barnowl_perlaim, debian, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
4c2ec6c
Parents:
18a99d2
git-author:
Nelson Elhage <nelhage@mit.edu> (03/26/07 21:04:37)
git-committer:
Nelson Elhage <nelhage@mit.edu> (03/26/07 21:04:54)
Message:
Getting rid of indirect object syntax new calls. Quoting perlobj:

> But what if there are no arguments? In that case, Perl must guess what
> you want. Even worse, it must make that guess *at compile time*. Usually
> Perl gets it right, but when it doesn't you get a function call compiled
> as a method, or vice versa. This can introduce subtle bugs that are hard
> to detect.
> 
> For example, a call to a method "new" in indirect notation -- as C++
> programmers are wont to make -- can be miscompiled into a subroutine
> call if there's already a "new" function in scope. You'd end up calling
> the current package's "new" as a subroutine, rather than the desired
> class's method. The compiler tries to cheat by remembering bareword
> "require"s, but the grief when it messes up just isn't worth the years
> of debugging it will take you to track down such subtle bugs.
    
Location:
perl/lib/Net/XMPP
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • perl/lib/Net/XMPP/Client.pm

    r0ff8d110 rcb54527  
    5454    use Net::XMPP;
    5555
    56     $Con = new Net::XMPP::Client();
     56    $Con = Net::XMPP::Client->new();
    5757
    5858    $Con->SetCallbacks(...);
  • perl/lib/Net/XMPP/Debug.pm

    r0ff8d110 rcb54527  
    3939=head2 Basic Functions
    4040
    41     $Debug = new Net::XMPP::Debug();
     41    $Debug = Net::XMPP::Debug->new();
    4242
    4343    $Debug->Init(level=>2,
     
    8686=head1 EXAMPLE
    8787
    88   $Debug = new Net::XMPP:Debug(level=>2,
     88  $Debug = Net::XMPP:Debug->new(level=>2,
    8989                               header=>"Example");
    9090
  • perl/lib/Net/XMPP/IQ.pm

    r0ff8d110 rcb54527  
    6262    use Net::XMPP;
    6363
    64     $IQ = new Net::XMPP::IQ();
     64    $IQ = Net::XMPP::IQ->new();
    6565    $IQType = $IQ->NewChild( type );
    6666    $IQType->SetXXXXX("yyyyy");
     
    291291}
    292292
    293 sub _iq { my $self = shift; return new Net::XMPP::IQ(); }
     293sub _iq { my $self = shift; return Net::XMPP::IQ->new(); }
    294294
    295295$FUNCTIONS{Error}->{path} = 'error/text()';
  • perl/lib/Net/XMPP/JID.pm

    r0ff8d110 rcb54527  
    4242
    4343    sub foo {
    44       my $foo = new Net::XMPP::Foo(@_);
     44      my $foo = Net::XMPP::Foo->new(@_);
    4545      my $from = $foo->GetFrom();
    46       my $JID = new Net::XMPP::JID($from);
     46      my $JID = Net::XMPP::JID->new($from);
    4747      .
    4848      .
     
    5656    use Net::XMPP;
    5757
    58     $JID = new Net::XMPP::JID();
     58    $JID = Net::XMPP::JID->new();
    5959
    6060  Now you can call the creation functions below to populate the tag
  • perl/lib/Net/XMPP/Message.pm

    r0ff8d110 rcb54527  
    5555    use Net::XMPP;
    5656
    57     $Mess = new Net::XMPP::Message();
     57    $Mess = Net::XMPP::Message->new();
    5858
    5959  Now you can call the creation functions below to populate the tag
     
    315315}
    316316
    317 sub _message { my $self = shift; return new Net::XMPP::Message(); }
     317sub _message { my $self = shift; return Net::XMPP::Message->new(); }
    318318
    319319
  • perl/lib/Net/XMPP/Presence.pm

    r0ff8d110 rcb54527  
    5555    use Net::XMPP;
    5656
    57     $Pres = new Net::XMPP::Presence();
     57    $Pres = Net::XMPP::Presence->new();
    5858
    5959  Now you can call the creation functions below to populate the tag
     
    270270}
    271271
    272 sub _presence { my $self = shift; return new Net::XMPP::Presence(); }
     272sub _presence { my $self = shift; return Net::XMPP::Presence->new(); }
    273273
    274274
  • perl/lib/Net/XMPP/Protocol.pm

    r3405394 rcb54527  
    7474
    7575    use Net::XMPP qw( Client );
    76     $Con = new Net::XMPP::Client();                  # From
     76    $Con = Net::XMPP::Client->new();                  # From
    7777    $status = $Con->Connect(hostname=>"jabber.org"); # Net::XMPP::Client
    7878
     
    20492049    my $self = shift;
    20502050
    2051     return new Net::XMPP::PrivacyLists(connection=>$self);
     2051    return Net::XMPP::PrivacyLists->new(connection=>$self);
    20522052}
    20532053
     
    23722372    my $self = shift;
    23732373
    2374     return new Net::XMPP::Roster(connection=>$self);
     2374    return Net::XMPP::Roster->new(connection=>$self);
    23752375}
    23762376
  • perl/lib/Net/XMPP/Roster.pm

    r91bf213 rcb54527  
    4141=head2 Basic Functions
    4242
    43   my $Client = new Net::XMPP::Client(...);
    44 
    45   my $Roster = new Net::XMPP::Roster(connection=>$Client);
     43  my $Client = Net::XMPP::Client->new(...);
     44
     45  my $Roster = Net::XMPP::Roster->new(connection=>$Client);
    4646    or
    4747  my $Roster = $Client->Roster();
  • perl/lib/Net/XMPP/Stanza.pm

    r0ff8d110 rcb54527  
    216216use vars qw( $AUTOLOAD %FUNCTIONS $DEBUG );
    217217
    218 $DEBUG = new Net::XMPP::Debug(usedefault=>1,
    219                               header=>"XMPP");
     218$DEBUG = Net::XMPP::Debug->new(usedefault=>1,
     219                               header=>"XMPP");
    220220
    221221# XXX need to look at evals and $@
     
    14121412{
    14131413    my $self = shift;
    1414     return new Net::XMPP::JID(@_);
     1414    return Net::XMPP::JID->new(@_);
    14151415}
    14161416
     
    14241424{
    14251425    my $self = shift;
    1426     return new Net::XMPP::Stanza(@_);
     1426    return Net::XMPP::Stanza->new(@_);
    14271427}
    14281428
Note: See TracChangeset for help on using the changeset viewer.