modules
can contains filenames or module names.
Imported modules are automatically loaded and modelized.
The result is the corresponding model elements.
Errors and warnings are printed with the toolcontext.
Note: class and property model elements are not analysed.
# Load a bunch of modules.
# `modules` can contains filenames or module names.
# Imported modules are automatically loaded and modelized.
# The result is the corresponding model elements.
# Errors and warnings are printed with the toolcontext.
#
# Note: class and property model elements are not analysed.
fun parse(modules: Sequence[String]): Array[MModule]
do
var time0 = get_time
# Parse and recursively load
self.toolcontext.info("*** PARSE ***", 1)
var mmodules = new ArraySet[MModule]
for a in modules do
var nmodule = self.load_module(a)
if nmodule == null then continue # Skip error
var mmodule = nmodule.mmodule
if mmodule == null then continue # skip error
mmodules.add mmodule
end
var time1 = get_time
self.toolcontext.info("*** END PARSE: {time1-time0} ***", 2)
self.toolcontext.check_errors
if toolcontext.opt_only_parse.value then
self.toolcontext.info("*** ONLY PARSE...", 1)
self.toolcontext.quit
end
return mmodules.to_a
end
src/loader.nit:88,2--119,4