diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-02-27 22:21:44 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-02-27 22:21:44 +0000 |
| commit | 8c821c09eebe117bd8b100b6dc416ded0588b979 (patch) | |
| tree | aacd4fb7d966eae215917e5556e9e08eeb43bc53 /lib/puppet/parser/grammar.ra | |
| parent | 37c10d176d8d3b7bb1920bbda66c6f0429b66730 (diff) | |
| download | puppet-8c821c09eebe117bd8b100b6dc416ded0588b979.tar.gz puppet-8c821c09eebe117bd8b100b6dc416ded0588b979.tar.xz puppet-8c821c09eebe117bd8b100b6dc416ded0588b979.zip | |
Mostly, this is a refactoring commit. There is one significant new feature,
though: overrides now only work within a class heirarchy, which is to say that
a subclass can override an element in a base class, but a child scope cannot
otherwise override an element in a base scope.
I've also done a good bit of refactoring, though; notably, AST#evaluate now
takes named arguments, and I changed the 'name' parameter to 'type' in all of
the Component classes (this was all internal, but was confusing as it was).
I also removed the need for the autonaming stuff -- it's now acceptable for
components not to have names, and everything behaves correctly. I haven't yet
removed the autoname code, though; I'll do that on the next commit.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@952 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/parser/grammar.ra')
| -rw-r--r-- | lib/puppet/parser/grammar.ra | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index 6e2a98aea..715adf064 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -494,7 +494,7 @@ import: IMPORT quotedtext { definition: DEFINE NAME argumentlist LBRACE statements RBRACE { result = AST::CompDef.new( - :name => AST::Name.new(:value => val[1], :line => @lexer.line), + :type => AST::Name.new(:value => val[1], :line => @lexer.line), :args => val[2], :file => @lexer.file, :line => @lexer.line, @@ -503,7 +503,7 @@ definition: DEFINE NAME argumentlist LBRACE statements RBRACE { ) } | DEFINE NAME argumentlist LBRACE RBRACE { result = AST::CompDef.new( - :name => AST::Name.new(:value => val[1], :line => @lexer.line), + :type => AST::Name.new(:value => val[1], :line => @lexer.line), :args => val[2], :file => @lexer.file, :line => @lexer.line, @@ -520,7 +520,7 @@ definition: DEFINE NAME argumentlist LBRACE statements RBRACE { hostclass: CLASS NAME parent LBRACE statements RBRACE { #:args => val[2], args = { - :name => AST::Name.new(:value => val[1], :line => @lexer.line), + :type => AST::Name.new(:value => val[1], :line => @lexer.line), :file => @lexer.file, :line => @lexer.line, :keyword => val[0], @@ -533,7 +533,7 @@ hostclass: CLASS NAME parent LBRACE statements RBRACE { result = AST::ClassDef.new(args) } | CLASS NAME parent LBRACE RBRACE { args = { - :name => AST::Name.new(:value => val[1], :line => @lexer.line), + :type => AST::Name.new(:value => val[1], :line => @lexer.line), :file => @lexer.file, :line => @lexer.line, :keyword => val[0], |
