nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib/websocket: Refactored websocket to be more compliant with the model of the Sockets
[nit.git]
/
src
/
phase.nit
diff --git
a/src/phase.nit
b/src/phase.nit
index
e40f19c
..
1a10cf2
100644
(file)
--- a/
src/phase.nit
+++ b/
src/phase.nit
@@
-21,7
+21,7
@@
import poset
redef class ToolContext
# The various registered phases to performs
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`
#
# While you can directly modify the poset (nodes and edges),
# it is often simpler to use the constructor in `Phase`
@@
-30,11
+30,14
@@
redef class ToolContext
# --disable-phase
var opt_disable_phase = new OptionArray("DEBUG: Disable a specific phase; use `list` to get the list.", "--disable-phase")
# --disable-phase
var opt_disable_phase = new OptionArray("DEBUG: Disable a specific phase; use `list` to get the list.", "--disable-phase")
+ # --disable-phase
+ var opt_sloppy = new OptionBool("DEBUG: force lazy semantic analysis of the source-code", "--sloppy")
+
redef init
do
super
redef init
do
super
- option_context.add_option(opt_disable_phase)
+ option_context.add_option(opt_disable_phase, opt_sloppy)
end
redef fun process_options(args)
end
redef fun process_options(args)
@@
-62,10
+65,12
@@
redef class ToolContext
end
if not found then fatal_error(null, "Error: no phase named `{v}`. Use `list` to list all phases.")
end
end
if not found then fatal_error(null, "Error: no phase named `{v}`. Use `list` to list all phases.")
end
+
+ if opt_sloppy.value then semantize_is_lazy = true
end
end
- fun phases_list: Sequence[Phase]
- do
+ # 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)
return phases
var phases = self.phases.to_a
self.phases.sort(phases)
return phases
@@
-143,7
+148,9
@@
redef class ToolContext
errors_info
end
errors_info
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
do
phase.process_npropdef(npropdef)
end