package PPI::Token::Quote::Interpolate;

=pod

=head1 NAME

PPI::Token::Quote::Interpolate - The interpolation quote-like operator

=head1 INHERITANCE

  PPI::Token::Quote::Interpolate
  isa PPI::Token::Quote
      isa PPI::Token
          isa PPI::Element

=head1 DESCRIPTION

A C<PPI::Token::Quote::Interpolate> object represents a single
interpolation quote-like operator, such as C<qq{$foo bar $baz}>.

=head1 METHODS

There are no methods available for C<PPI::Token::Quote::Interpolate>
beyond those provided by the parent L<PPI::Token::Quote>, L<PPI::Token> and
L<PPI::Element> classes.

Got any ideas for methods? Submit a report to rt.cpan.org!

=cut

use strict;
use base 'PPI::Token::_QuoteEngine::Full',
         'PPI::Token::Quote';

use vars qw{$VERSION};
BEGIN {
	$VERSION = '1.000';
}





#####################################################################
# PPI::Token::Quote Methods

=pod

=begin testing string

my $Document = PPI::Document->new( "print qq{foo}, qq!bar!, qq <foo>;" );
isa_ok( $Document, 'PPI::Document' );
my @literal = $Document->find('Token::Quote::Literal');
is( scalar(@literal), 3, '->find returns three objects' );
isa_ok( $literal[0], 'PPI::Token::Quote::Single' );
isa_ok( $literal[1], 'PPI::Token::Quote::Single' );
isa_ok( $literal[2], 'PPI::Token::Quote::Single' );
is( $literal[0]->string, 'foo', '->string returns as expected' );
is( $literal[1]->string, 'foo', '->string returns as expected' );
is( $literal[2]->string, 'foo', '->string returns as expected' );

=end testing

=cut

sub string {
	my $self     = shift;
	my @sections = $self->_sections;
	my $str      = $sections[0];
	substr( $self->{content}, $str->{position}, $str->{size} );	
}

1;

=pod

=head1 SUPPORT

See the L<support section|PPI/SUPPORT> in the main module

=head1 AUTHOR

Adam Kennedy, L<http://ali.as/>, cpan@ali.as

=head1 COPYRIGHT

Copyright (c) 2001 - 2005 Adam Kennedy. All rights reserved.

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

The full text of the license can be found in the
LICENSE file included with this module.

=cut
