Sha256: 004933721b738377ad2d5fcaf7e8b7999f3dab800e11252a6487fe2b346c2ac1

Contents?: true

Size: 887 Bytes

Versions: 32

Compression:

Stored size: 887 Bytes

Contents

# frozen_string_literal: true

module Puppet; end

module Puppet::Parser
  # The ParserFactory makes selection of parser possible.
  # Currently, it is possible to switch between two different parsers:
  # * classic_parser, the parser in 3.1
  # * eparser, the Expression Based Parser
  #
  class ParserFactory
    # Produces a parser instance for the given environment
    def self.parser
      evaluating_parser
    end

    # Creates an instance of an E4ParserAdapter that adapts an
    # EvaluatingParser to the 3x way of parsing.
    #
    def self.evaluating_parser
      unless defined?(Puppet::Parser::E4ParserAdapter)
        require_relative '../../puppet/parser/e4_parser_adapter'
        require_relative '../../puppet/pops/parser/code_merger'
      end
      E4ParserAdapter.new
    end

    def self.code_merger
      Puppet::Pops::Parser::CodeMerger.new
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
puppet-8.10.0 lib/puppet/parser/parser_factory.rb
puppet-8.10.0-x86-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.10.0-x64-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.10.0-universal-darwin lib/puppet/parser/parser_factory.rb
puppet-8.9.0 lib/puppet/parser/parser_factory.rb
puppet-8.9.0-x86-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.9.0-x64-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.9.0-universal-darwin lib/puppet/parser/parser_factory.rb
puppet-8.8.1 lib/puppet/parser/parser_factory.rb
puppet-8.8.1-x86-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.8.1-x64-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.8.1-universal-darwin lib/puppet/parser/parser_factory.rb
puppet-8.7.0 lib/puppet/parser/parser_factory.rb
puppet-8.7.0-x86-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.7.0-x64-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.7.0-universal-darwin lib/puppet/parser/parser_factory.rb
puppet-8.6.0 lib/puppet/parser/parser_factory.rb
puppet-8.6.0-x86-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.6.0-x64-mingw32 lib/puppet/parser/parser_factory.rb
puppet-8.6.0-universal-darwin lib/puppet/parser/parser_factory.rb