Rename REAMDE to README.md
[nit.git] / src / phase.nit
index 55853a5..5f0faf1 100644 (file)
@@ -21,7 +21,7 @@ import poset
 
 redef class ToolContext
        # The various registered phases to performs
-       # The order in the poset is the dependance of phases
+       # The order in the poset is the dependence of phases
        #
        # While you can directly modify the poset (nodes and edges),
        # it is often simpler to use the constructor in `Phase`
@@ -69,7 +69,7 @@ redef class ToolContext
                if opt_sloppy.value then semantize_is_lazy = true
        end
 
-       # The list of phases in the order to run them
+       # The list of registered phases in the application order.
        var phases_list: Sequence[Phase] is lazy do
                var phases = self.phases.to_a
                self.phases.sort(phases)
@@ -110,7 +110,6 @@ redef class ToolContext
 
                        for phase in phases do
                                if phase.disabled then continue
-                               self.info(" phase: {phase}", 3)
                                assert phase.toolcontext == self
                                var errcount = self.error_count
                                phase.process_nmodule(nmodule)
@@ -132,7 +131,10 @@ redef class ToolContext
                                        break
                                end
                                for na in vannot.annotations do
-                                       phase.process_annotated_node(na.parent.parent.as(not null), na)
+                                       var p = na.parent
+                                       if p isa AAnnotations then p = p.parent
+                                       assert p != null
+                                       phase.process_annotated_node(p, na)
                                end
                                if errcount != self.error_count then
                                        self.check_errors
@@ -145,10 +147,12 @@ redef class ToolContext
                var time1 = get_time
                self.info("*** END SEMANTIC ANALYSIS: {time1-time0} ***", 2)
 
-               errors_info
+               self.check_errors
        end
 
-       fun phase_process_npropdef(phase: Phase, npropdef: APropdef)
+       # Process the given `phase` on the `npropdef`
+       # Called by `run_phases`
+       protected fun phase_process_npropdef(phase: Phase, npropdef: APropdef)
        do
                phase.process_npropdef(npropdef)
        end
@@ -218,7 +222,7 @@ abstract class Phase
        end
 
        # By default, the name is the lowercased prefix of the classname
-       redef fun to_s do return class_name.strip_extension("Phase").to_lower
+       redef fun to_s do return class_name.strip_extension("Phase").to_snake_case
 
        # Is the phase globally disabled?
        # A disabled phase is not called automatically called by `ToolContext::run_phases` and cie.