diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-08-27 16:43:29 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-08-27 16:43:29 +0300 |
commit | 9a94fbc91ce1c2cfeffc8a8cb0e874e31d9d6ecb (patch) | |
tree | 9ed66f7b4abb728808f861217f27de128317875c | |
parent | 915b6221ebbab067493e2f7bb73978f400209f09 (diff) | |
download | config-ast-9a94fbc91ce1c2cfeffc8a8cb0e874e31d9d6ecb.tar.gz config-ast-9a94fbc91ce1c2cfeffc8a8cb0e874e31d9d6ecb.tar.bz2 |
Two auxiliary methods
* lib/Config/AST.pm (error_count,success): New methods.
-rw-r--r-- | lib/Config/AST.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Config/AST.pm b/lib/Config/AST.pm index fb10569..275e902 100644 --- a/lib/Config/AST.pm +++ b/lib/Config/AST.pm @@ -412,12 +412,33 @@ sub commit { $self->lint_subtree($lexicon, $self->tree) if $lint; $self->fixup_tree($self->tree, $lexicon); } return $self->{_error_count} == 0; } +=head2 $cfg->error_count + +Returns total number of errors encountered during parsing. + +=cut + +sub error_count { shift->{_error_count} } + +=head2 $cfg->success + +Returns true if no errors were detected during parsing. + +=cut + +sub success { ! shift->error_count } + +# Auxiliary function used in commit and lint. +# Arguments: +# $section - A Config::AST::Node::Section to start fixup at +# $params - Lexicon. +# @path - Path to $section sub fixup_tree { my ($self, $section, $params, @path) = @_; while (my ($k, $d) = each %{$params}) { next unless ref($d) eq 'HASH'; |