Edit

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

Branch :

  • Show log

    Commit

  • Author : Alexandre Duret-Lutz
    Date : 2003-08-12 17:52:09
    Hash : 9a792314
    Message : * lib/Automake/Item.pm, lib/Automake/ItemDef.pm: New files. * lib/Automake/Rule.pm, lib/Automake/RuleDef.pm: New files. * lib/Automake/Makefile.am (dist_perllib_DATA): Add them. * lib/Automake/VarDef.pm: Make this a subclass of Automake::ItemDef. (new): Adjust to call Automake::ItemDef::new. (comment, location, owner): Delete. Now inherited from ItemDef. * lib/Automake/Variable.pm: Make this a subclass of Automake::Item. (_new): Adjust to call Automake::Item::new. (name, def, rdef, _set, conditions, not_always_defined_in_cond): Delete. How inherited from Item, where `_set' is called `set'. * automake.in (SUFFIX_RULE_PATTERN): Delete. Now in Automake::Rule. (suffix_rules_default): Delete. Now Automake::Rule::_suffix_rules_default (suffixes): Delete. Now Automake::Rule::suffixes. (TARGET_AUTOMAKE, TARGET_USER): Delete. Now Automake::RuleDef::RULE_AUTOMAKE and Automake::RuleDef::RULE_USER. (%targets, %target_source, %target_name, %target_owner): Delete, replaced by the Rule and RuleDef classes. (dependencies, depend, actions): Delete. Now in Automake::Rule. (suffix_rules, register_suffix_rule): Likewise. (KNOWN_EXTENSIONS_PATTERN, accept_extensions): Likewise. (known_extensions_list): Delete. Now Automake::Rule::_known_extensions_list. (target_conditions): Delete. Now inherited by Automake::Rule from Automake::Item::conditions. (rule_define): Delete. Now Automake::Rule::define. Adjust all callers. (target_defined): Delete. Now Automake::Rule::rule. Adjust all callers. (initialize_per_input): Adjust to call Automake::Rule::reset. (err_target, err_cond_target, msg_cond_target, msg_target, reject_target): Delete. Now defined in Automake::Rule as err_rule, err_cond_rule, msg_cond_rule, msg_rule and reject_target. Adjust all callers. (handle_languages): Call suffix_rules_count. * tests/location.test: Adjust expected diagnostics. We now display $(EXEEXT) accurately.

  • lib/Automake/ItemDef.pm
  • # Copyright (C) 2003  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, write to the Free Software
    # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    # 02111-1307, USA.
    
    package Automake::ItemDef;
    use strict;
    use Carp;
    
    =head1 NAME
    
    Automake::ItemDef - base class for Automake::VarDef and Automake::RuleDef
    
    =head1 DESCRIPTION
    
    =head2 Methods
    
    =over 4
    
    =item C<my $def = Automake::new ($comment, $location, $owner)>
    
    Create a new Makefile-item definition.
    
    C<$comment> is any comment preceding the definition.  (Because
    Automake reorders items in the output, it also tries to carry comments
    around.)
    
    C<$location> is the place where the definition occured, it should be
    an instance of L<Automake::Location>.
    
    C<$owner> specifies who owns the rule.
    
    =cut
    
    sub new ($$$$)
    {
      my ($class, $comment, $location, $owner) = @_;
    
      my $self = {
        comment => $comment,
        location => $location,
        owner => $owner,
      };
      bless $self, $class;
    
      return $self;
    }
    
    =item C<$def-E<gt>comment>
    
    =item C<$def-E<gt>location>
    
    =item C<$def-E<gt>owner>
    
    Accessors to the various constituents of an C<ItemDef>.  See the
    documentation of C<new>'s arguments for a description of these.
    
    =cut
    
    sub comment ($)
    {
      my ($self) = @_;
      return $self->{'comment'};
    }
    
    sub location ($)
    {
      my ($self) = @_;
      return $self->{'location'};
    }
    
    sub owner ($)
    {
      my ($self) = @_;
      return $self->{'owner'};
    }
    
    =head1 SEE ALSO
    
    L<Automake::VarDef>, and L<Automake::RuleDef>.
    
    =cut
    
    1;
    
    ### Setup "GNU" style for perl-mode and cperl-mode.
    ## Local Variables:
    ## perl-indent-level: 2
    ## perl-continued-statement-offset: 2
    ## perl-continued-brace-offset: 0
    ## perl-brace-offset: 0
    ## perl-brace-imaginary-offset: 0
    ## perl-label-offset: -2
    ## cperl-indent-level: 2
    ## cperl-brace-offset: 0
    ## cperl-continued-brace-offset: 0
    ## cperl-label-offset: -2
    ## cperl-extra-newline-before-brace: t
    ## cperl-merge-trailing-else: nil
    ## cperl-continued-statement-offset: 2
    ## End: