Age | Commit message (Collapse) | Author | Files | Lines |
|
This changes the following:
* Assignment has lower precedence than resource expressions
* Local defaults are supported in resource instantiation expressions
* A Resource body may have a new expression AttributesOperation that
must evaluate to a hash.
* Stricter validation of resource titles
* Changes to TreeModelDumper wrt how BlockExpression is rendered (to
improve debugging output). As a consequence many tests needed
adjustments.
* Tests that previously passed have been modified because of stricter
validation.
This also includes maintenance. Removing dead code/fixing stale comments
and documentation.
|
|
This adds the ability to have a trailing comma after the last
match in a node expression.
|
|
Puppet allows keywords as attribute names in defines and
parameterized classes. This was missing for the added keywords:
* FUNCTION
* ATTR
* PRIVATE
* TYPE
Which caused a clash with existing types.
This commit adds the new keywords to the list of accepted words
in the grammar.
|
|
There was a problem with NAME no longer allowing '.' in names (it
is only supported to enable a node to use a node match based on NAME.
This changes the parser to parse a node name such as kermit.example.com
as a sequence of names separated by dot.
|
|
There were no tests for naming of nested classes (the naming needs
to take place during parsing).
|
|
This makes the future parser use the new faster lexer.
As a consequence features provided by the old lexer has now moved
to the parser (keeping track of namestack).
Locator information is still not optimized wrt the parser as the
tokens/locator information are adapter to the "old" way
(room for performance improvements).
Tests are updated as the new lexer is both more restrictive, and in
some case more relaxed (where regular expressions may occur).
|
|
The API and Impl modules were an interesting idea that has just been
leading to confusion about where things live. Moving forward the public
vs. private distinction for API purposes should be handled with @api
annotations in documentation and clear responsibilities of classes and
modules.
|