# FIXME: Maybe just let the client do the loop (instead of playing with Sequences)
fun parse_and_build(modules: Sequence[String]): Array[MModule]
do
- var time0 = get_time
- # Parse and recursively load
- self.toolcontext.info("*** PARSE ***", 1)
- var mmodules = new Array[MModule]
- for a in modules do
- var nmodule = self.load_module(null, a)
- if nmodule == null then continue # Skip error
- mmodules.add(nmodule.mmodule.as(not null))
- end
- var time1 = get_time
- self.toolcontext.info("*** END PARSE: {time1-time0} ***", 2)
-
- self.toolcontext.check_errors
+ var mmodules = parse(modules)
if self.toolcontext.opt_only_parse.value then
self.toolcontext.info("--only-parse: stop processing", 2)
end
# Build the model
+ var time1 = get_time
self.toolcontext.info("*** BUILD MODEL ***", 1)
self.build_all_classes
var time2 = get_time
return mmodules
end
+ fun parse(modules: Sequence[String]): Array[MModule]
+ do
+ var time0 = get_time
+ # Parse and recursively load
+ self.toolcontext.info("*** PARSE ***", 1)
+ var mmodules = new Array[MModule]
+ for a in modules do
+ var nmodule = self.load_module(null, a)
+ if nmodule == null then continue # Skip error
+ mmodules.add(nmodule.mmodule.as(not null))
+ end
+ var time1 = get_time
+ self.toolcontext.info("*** END PARSE: {time1-time0} ***", 2)
+
+ self.toolcontext.check_errors
+ return mmodules
+ end
+
# Return a class named `name' visible by the module `mmodule'.
# Visibility in modules is correctly handled.
# If no such a class exists, then null is returned.