Hi
two remarks
First - It seems strange that candidateClass is defined in ImportingTask while only the MooseCompositeImporterTask use it and also define the method run and doNotRun
=> so I pushed down these methods to the right place and the instance variable too.
MooseImportClassesTask could not run the candidateOperator (it still cannot). Now MooseImportClassesTask does not import but just spit out classes so this is ok and updated the class comments to reflect that.
Second
you normally do not have to specify the CandidateListOperator (this is only to switch between FAMIX2 and FAMIX3) so do not use it Similarly do not use importerClass: if you do not need it. It is set by default in ImportingTask>>initialize (this is only to switch between FAMIX2 and FAMIX3)
Do not do
model := MooseModel new. importer := MooseSqueakClassPackageImporterTask new. importer importingContext mergeClassAndMetaclass. importer candidateClass: CandidateListOperator. importer importerClass: SmalltalkImporter. importer model: model; addFromPackagesNamed: packagesToImport; run. MooseModel root add: model.
but model := MooseModel new. importer := MooseSqueakClassPackageImporterTask new. importer importingContext mergeClassAndMetaclass. importer model: model; addFromPackagesNamed: packagesToImport; run. MooseModel root add: model.