summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
diff options
context:
space:
mode:
authorDaniel Pittman <daniel@puppetlabs.com>2011-02-12 11:36:29 -0800
committerDaniel Pittman <daniel@rimspace.net>2011-02-12 11:36:29 -0800
commit1abfd9c2e550be8cebdd94629d0f9759f14f7f34 (patch)
tree335f741f8b612e8be7c9634350f9a085c6862ab4 /lib/puppet/parser
parent781601f8e7a9c6aecc5c9de66b1597b1879450d2 (diff)
parentb4a171e78c501208798220910352943331ceb9e0 (diff)
downloadpuppet-1abfd9c2e550be8cebdd94629d0f9759f14f7f34.tar.gz
puppet-1abfd9c2e550be8cebdd94629d0f9759f14f7f34.tar.xz
puppet-1abfd9c2e550be8cebdd94629d0f9759f14f7f34.zip
Merge branch 'masterzen/tickets/2.6/5720' into bug/2.6.next/5720-puppetdoc-fails-on-parameterized-class
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r--lib/puppet/parser/ast/leaf.rb2
-rw-r--r--lib/puppet/parser/lexer.rb5
-rw-r--r--lib/puppet/parser/parser_support.rb6
3 files changed, 8 insertions, 5 deletions
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb
index fcdd219d7..77617e992 100644
--- a/lib/puppet/parser/ast/leaf.rb
+++ b/lib/puppet/parser/ast/leaf.rb
@@ -67,7 +67,7 @@ class Puppet::Parser::AST
end
def to_s
- "concat(#{@value.join(',')})"
+ "#{@value.map { |s| s.to_s.gsub(/^"(.*)"$/, '\1') }.join}"
end
end
diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb
index 31d39ae2f..9a25263f6 100644
--- a/lib/puppet/parser/lexer.rb
+++ b/lib/puppet/parser/lexer.rb
@@ -476,9 +476,12 @@ class Puppet::Parser::Lexer
@expected.pop
end
- if final_token.name == :LBRACE
+ if final_token.name == :LBRACE or final_token.name == :LPAREN
commentpush
end
+ if final_token.name == :RPAREN
+ commentpop
+ end
yield [final_token.name, token_value]
diff --git a/lib/puppet/parser/parser_support.rb b/lib/puppet/parser/parser_support.rb
index 7bbebb124..7a0aa2601 100644
--- a/lib/puppet/parser/parser_support.rb
+++ b/lib/puppet/parser/parser_support.rb
@@ -135,19 +135,19 @@ class Puppet::Parser::Parser
# Create a new class, or merge with an existing class.
def newclass(name, options = {})
- known_resource_types.add Puppet::Resource::Type.new(:hostclass, name, ast_context(true).merge(options))
+ known_resource_types.add Puppet::Resource::Type.new(:hostclass, name, ast_context(true, options[:line]).merge(options))
end
# Create a new definition.
def newdefine(name, options = {})
- known_resource_types.add Puppet::Resource::Type.new(:definition, name, ast_context(true).merge(options))
+ known_resource_types.add Puppet::Resource::Type.new(:definition, name, ast_context(true, options[:line]).merge(options))
end
# Create a new node. Nodes are special, because they're stored in a global
# table, not according to namespaces.
def newnode(names, options = {})
names = [names] unless names.instance_of?(Array)
- context = ast_context(true)
+ context = ast_context(true, options[:line])
names.collect do |name|
known_resource_types.add(Puppet::Resource::Type.new(:node, name, context.merge(options)))
end