Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / PPI / Statement / UnmatchedBrace.pm
diff --git a/local-lib5/lib/perl5/PPI/Statement/UnmatchedBrace.pm b/local-lib5/lib/perl5/PPI/Statement/UnmatchedBrace.pm
new file mode 100644 (file)
index 0000000..f7141fb
--- /dev/null
@@ -0,0 +1,82 @@
+package PPI::Statement::UnmatchedBrace;
+
+=pod
+
+=head1 NAME
+
+PPI::Statement::UnmatchedBrace - Isolated unmatched brace
+
+=head1 SYNOPSIS
+
+  sub foo {
+      1;
+  }
+  
+  } # <--- This is an unmatched brace
+
+=head1 INHERITANCE
+
+  PPI::Statement::UnmatchedBrace
+  isa PPI::Statement
+      isa PPI::Node
+          isa PPI::Element
+
+=head1 DESCRIPTION
+
+The C<PPI::Statement::UnmatchedBrace> class is a miscellaneous utility
+class. Objects of this type should be rare, or not exist at all in normal
+valid L<PPI::Document> objects.
+
+It can be either a round ')', square ']' or curly '}' brace, this class
+does not distinguish. Objects of this type are only allocated at a
+structural level, not a lexical level (as they are lexically invalid
+anyway).
+
+The presence of a C<PPI::Statement::UnmatchedBrace> indicated a broken
+or invalid document. Or maybe a bug in PPI, but B<far> more likely a
+broken Document. :)
+
+=head1 METHODS
+
+C<PPI::Statement::UnmatchedBrace> has no additional methods beyond the
+default ones provided by L<PPI::Statement>, L<PPI::Node> and
+L<PPI::Element>.
+
+=cut
+
+use strict;
+use PPI::Statement ();
+
+use vars qw{$VERSION @ISA};
+BEGIN {
+       $VERSION = '1.206';
+       @ISA     = 'PPI::Statement';
+}
+
+# Once we've hit a naked unmatched brace we can never truly be complete.
+# So instead we always just call it a day...
+sub _complete () { 1 }
+
+1;
+
+=pod
+
+=head1 SUPPORT
+
+See the L<support section|PPI/SUPPORT> in the main module.
+
+=head1 AUTHOR
+
+Adam Kennedy E<lt>adamk@cpan.orgE<gt>
+
+=head1 COPYRIGHT
+
+Copyright 2001 - 2009 Adam Kennedy.
+
+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