The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Class::MOP::Method::Constructor - Method Meta Object for constructors

SYNOPSIS

  use Class::MOP::Method::Constructor;

  my $constructor = Class::MOP::Method::Constructor->new(
      metaclass => $metaclass,
      options   => {
          debug => 1, # this is all for now
      },
  );

  # calling the constructor ...
  $constructor->body->execute($metaclass->name, %params);

DESCRIPTION

This is a subclass of Class::MOP::Method which generates constructor methods.

METHODS

Class::MOP::Method::Constructor->new(%options)

This creates a new constructor object. It accepts a hash reference of options.

  • metaclass

    This should be a Class::MOP::Class object. It is required.

  • name

    The method name (without a package name). This is required.

  • package_name

    The package name for the method. This is required.

  • is_inline

    This indicates whether or not the constructor should be inlined. This defaults to false.

$metamethod->is_inline

Returns a boolean indicating whether or not the constructor is inlined.

$metamethod->associated_metaclass

This returns the Class::MOP::Class object for the method.

$metamethod->is_inline

Returns a boolean indicating whether or not the constructor is inlined.

$metamethod->can_be_inlined

This method always returns true in this class. It exists so that subclasses (as in Moose) can do some sort of checking to determine whether or not inlining the constructor is safe.

AUTHORS

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE

Copyright 2006-2009 by Infinity Interactive, Inc.

http://www.iinteractive.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.