Class: AdLint::Phase

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
MonitorUtil
Defined in:
lib/adlint/phase.rb

Overview

DESCRIPTION

Base of analysis phase classes.

Direct Known Subclasses

Cc1::CPhase, Cpp::CppPhase, Ld::LdPhase

Instance Method Summary collapse

Methods included from MonitorUtil

#checkpoint, #monitored_region

Constructor Details

#initialize(phase_ctxt, pkg_name, phase_name) ⇒ Phase

DESCRIPTION

Constructs an analysis pass.

PARAMETER

phase_ctxt

PhaseContext – Analysis context.



48
49
50
51
52
# File 'lib/adlint/phase.rb', line 48

def initialize(phase_ctxt, pkg_name, phase_name)
  @phase_ctxt = phase_ctxt
  @pkg_name   = pkg_name
  @phase_name = phase_name
end

Instance Method Details

#executeObject

DESCRIPTION

Executes the analysis.



56
57
58
59
60
61
62
63
64
# File 'lib/adlint/phase.rb', line 56

def execute
  monitored_region(@phase_name) do |mon|
    do_execute(@phase_ctxt, mon)
    register_examinations(@phase_ctxt)
  end
rescue Error => ex
  report.write_message(FatalErrorMessage.new(message_catalog, ex))
  raise
end