Class: Puppet::Parser::Compiler

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet-debugserver/puppet_monkey_patches.rb

Instance Method Summary collapse

Instance Method Details

#compileObject



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/puppet-debugserver/puppet_monkey_patches.rb', line 30

def compile
  PuppetDebugServer::PuppetDebugSession.instance.execute_hook(:hook_before_compile, [self])
  result = original_compile
  PuppetDebugServer::PuppetDebugSession.instance.execute_hook(:hook_after_compile, [result]) # TODO: This doesn't seem to be needed
  result
rescue Puppet::ParseErrorWithIssue => e
  # TODO: Potential issue here with 4.10.x not implementing .file on the Positioned class
  # Just re-raise if there is no Puppet manifest file associated with the error
  raise if e.file.nil? || e.line.nil? || e.pos.nil?

  PuppetDebugServer::PuppetDebugSession.instance.execute_hook(:hook_exception, [e])
  raise
end

#original_compileObject



28
# File 'lib/puppet-debugserver/puppet_monkey_patches.rb', line 28

alias original_compile compile