Class Puppet::Parser::AST
In: lib/puppet/parser/ast/arithmetic_operator.rb
lib/puppet/parser/ast/astarray.rb
lib/puppet/parser/ast/boolean_operator.rb
lib/puppet/parser/ast/branch.rb
lib/puppet/parser/ast/caseopt.rb
lib/puppet/parser/ast/casestatement.rb
lib/puppet/parser/ast/collection.rb
lib/puppet/parser/ast/collexpr.rb
lib/puppet/parser/ast/comparison_operator.rb
lib/puppet/parser/ast/else.rb
lib/puppet/parser/ast/function.rb
lib/puppet/parser/ast/ifstatement.rb
lib/puppet/parser/ast/leaf.rb
lib/puppet/parser/ast/match_operator.rb
lib/puppet/parser/ast/minus.rb
lib/puppet/parser/ast/nop.rb
lib/puppet/parser/ast/not.rb
lib/puppet/parser/ast/resource.rb
lib/puppet/parser/ast/resource_defaults.rb
lib/puppet/parser/ast/resource_override.rb
lib/puppet/parser/ast/resource_reference.rb
lib/puppet/parser/ast/resourceparam.rb
lib/puppet/parser/ast/selector.rb
lib/puppet/parser/ast/tag.rb
lib/puppet/parser/ast/vardef.rb
lib/puppet/parser/ast.rb
Parent: Object

The base class for all of the objects that make up the parse trees. Handles things like file name, line #, and also does the initialization for all of the parameters of all of the child objects.

Methods

Included Modules

Puppet::FileCollection::Lookup Puppet::Util::Errors Puppet::Util::MethodHelper Puppet::Util::Docs

Classes and Modules

Class Puppet::Parser::AST::ASTArray
Class Puppet::Parser::AST::ArithmeticOperator
Class Puppet::Parser::AST::Boolean
Class Puppet::Parser::AST::BooleanOperator
Class Puppet::Parser::AST::Branch
Class Puppet::Parser::AST::CaseOpt
Class Puppet::Parser::AST::CaseStatement
Class Puppet::Parser::AST::ClassName
Class Puppet::Parser::AST::CollExpr
Class Puppet::Parser::AST::Collection
Class Puppet::Parser::AST::ComparisonOperator
Class Puppet::Parser::AST::Default
Class Puppet::Parser::AST::Definition
Class Puppet::Parser::AST::Else
Class Puppet::Parser::AST::FlatString
Class Puppet::Parser::AST::Function
Class Puppet::Parser::AST::HostClass
Class Puppet::Parser::AST::HostName
Class Puppet::Parser::AST::IfStatement
Class Puppet::Parser::AST::Leaf
Class Puppet::Parser::AST::MatchOperator
Class Puppet::Parser::AST::Minus
Class Puppet::Parser::AST::Name
Class Puppet::Parser::AST::Node
Class Puppet::Parser::AST::Nop
Class Puppet::Parser::AST::Not
Class Puppet::Parser::AST::Regex
Class Puppet::Parser::AST::Resource
Class Puppet::Parser::AST::ResourceDefaults
Class Puppet::Parser::AST::ResourceInstance
Class Puppet::Parser::AST::ResourceOverride
Class Puppet::Parser::AST::ResourceParam
Class Puppet::Parser::AST::ResourceReference
Class Puppet::Parser::AST::Selector
Class Puppet::Parser::AST::String
Class Puppet::Parser::AST::Tag
Class Puppet::Parser::AST::Type
Class Puppet::Parser::AST::Undef
Class Puppet::Parser::AST::VarDef
Class Puppet::Parser::AST::Variable

Constants

AST = Puppet::Parser::AST   Do this so I don‘t have to type the full path in all of the subclasses

Attributes

parent  [RW] 
scope  [RW] 
use_docs  [RW] 

Public Class methods

Initialize the object. Requires a hash as the argument, and takes each of the parameters of the hash and calls the settor method for them. This is probably pretty inefficient and should likely be changed at some point.

Does this ast object set something? If so, it gets evaluated first.

Public Instance methods

Evaluate the current object. Just a stub method, since the subclass should override this method. of the contained children and evaluates them in turn, returning a list of all of the collected values, rejecting nil values

Throw a parse error.

Wrap a statemp in a reusable way so we always throw a parse error.

The version of the evaluate method that should be called, because it correctly handles errors. It is critical to use this method because it can enable you to catch the error where it happens, rather than much higher up the stack.

don‘t fetch lexer comment by default

[Validate]