Edit

kc3-lang/automake/lib/Automake/RuleDef.pm

Branch :

  • Show log

    Commit

  • Author : Zack Weinberg
    Date : 2020-09-11 18:03:19
    Hash : 74673d1c
    Message : Consistently use ‘our’ instead of ‘use vars’. At file scope of a file containing at most one ‘package’ declaration, ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred starting with Perl 5.6.0, which happens to be the oldest version we support. (This change has nothing to do with the previous two, but I want to make the same change in Autoconf and that means doing it here for all the files synced from Automake.) (I don’t know why, but this change exposed a latent bug in FileUtils.pm where the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code after it was considered documentation, causing ‘require FileUtils’ to fail.) * lib/Automake/ChannelDefs.pm * lib/Automake/Channels.pm * lib/Automake/Condition.pm * lib/Automake/Configure_ac.pm * lib/Automake/DisjConditions.pm * lib/Automake/FileUtils.pm * lib/Automake/General.pm * lib/Automake/Getopt.pm * lib/Automake/Options.pm * lib/Automake/Rule.pm * lib/Automake/RuleDef.pm * lib/Automake/VarDef.pm * lib/Automake/Variable.pm * lib/Automake/Wrap.pm * lib/Automake/XFile.pm: Replace all uses of ‘use vars’ with ‘our’. * lib/Automake/FileUtils.pm: Add missing ‘=cut’ to a pod block near the end of the file.

  • lib/Automake/RuleDef.pm
  • # Copyright (C) 2003-2020 Free Software Foundation, Inc.
    
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2, or (at your option)
    # any later version.
    
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    
    # You should have received a copy of the GNU General Public License
    # along with this program.  If not, see <https://www.gnu.org/licenses/>.
    
    package Automake::RuleDef;
    
    use 5.006;
    use strict;
    use warnings FATAL => 'all';
    
    use Carp;
    use Exporter;
    
    use Automake::ChannelDefs;
    use Automake::ItemDef;
    
    our @ISA = qw (Automake::ItemDef Exporter);
    our @EXPORT = qw (&RULE_AUTOMAKE &RULE_USER);
    
    =head1 NAME
    
    Automake::RuleDef - a class for rule definitions
    
    =head1 SYNOPSIS
    
      use Automake::RuleDef;
      use Automake::Location;
    
    =head1 DESCRIPTION
    
    This class gathers data related to one Makefile-rule definition.
    It shouldn't be needed outside of F<Rule.pm>.
    
    =head2 Constants
    
    =over 4
    
    =item C<RULE_AUTOMAKE>, C<RULE_USER>
    
    Possible owners for rules.
    
    =cut
    
    use constant RULE_AUTOMAKE => 0; # Rule defined by Automake.
    use constant RULE_USER => 1;     # Rule defined in the user's Makefile.am.
    
    =back
    
    =head2 Methods
    
    =over 4
    
    =item C<new Automake::RuleDef ($name, $comment, $location, $owner, $source)>
    
    Create a new rule definition with target C<$name>, with associated comment
    C<$comment>, Location C<$location> and owner C<$owner>, defined in file
    C<$source>.
    
    =cut
    
    sub new ($$$$$)
    {
      my ($class, $name, $comment, $location, $owner, $source) = @_;
    
      my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
      $self->{'source'} = $source;
      $self->{'name'} = $name;
      return $self;
    }
    
    =item C<$source = $rule-E<gt>source>
    
    Return the source of the rule.
    
    =cut
    
    sub source ($)
    {
      my ($self) = @_;
      return $self->{'source'};
    }
    
    =item C<$name = $rule-E<gt>name>
    
    Return the name of the rule.
    
    =cut
    
    sub name ($)
    {
      my ($self) = @_;
      return $self->{'name'};
    }
    
    =back
    
    =head1 SEE ALSO
    
    L<Automake::Rule>, L<Automake::ItemDef>.
    
    =cut
    
    1;