private void removeUnusedModels() { SModel smodel = myModelDescriptor; Set<SModelReference> modelsInModel = new HashSet<SModelReference>(SModelOperations.getImportedModelUIDs(smodel)); modelsInModel.removeAll(getImportedModels()); for (SModelReference modelReference : modelsInModel) { ((SModelInternal) smodel).deleteModelImport(modelReference); } }
protected void validateImports() { SModelInternal modelInternal = (SModelInternal) myModel; for (SModuleReference devKit : ListSequence.fromListWithValues( new ArrayList<SModuleReference>(), modelInternal.importedDevkits())) { modelInternal.deleteDevKit(devKit); } for (SLanguage language : ListSequence.fromListWithValues( new ArrayList<SLanguage>(), modelInternal.importedLanguageIds())) { modelInternal.deleteLanguageId(language); } for (jetbrains.mps.smodel.SModel.ImportElement model : ListSequence.fromListWithValues( new ArrayList<jetbrains.mps.smodel.SModel.ImportElement>(), modelInternal.importedModels())) { modelInternal.deleteModelImport(model.getModelReference()); } addBuiltInImports(); TemporaryModels.getInstance().addMissingImports(myModel); }