void (final VirtualFile formFile) { myNeedLoadLabelText = false; myNeedLoadButtonText = false; myNeedGetMessageFromBundle = false; myGetFontMethod = null; final Module module = ModuleUtilCore.findModuleForFile(formFile, myProject); if (module == null) { return; } // ensure that new instances of generators are used for every run ourContainerLayoutCodeGenerators.clear(); ourContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_INTELLIJ, new GridLayoutSourceGenerator()); ourContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_GRIDBAG, new GridBagLayoutSourceGenerator()); ourContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_BORDER, new BorderLayoutSourceGenerator()); ourContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_FLOW, new FlowLayoutSourceGenerator()); ourContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_CARD, new CardLayoutSourceGenerator()); ourContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_FORM, new FormLayoutSourceGenerator()); myErrors.clear(); final PsiPropertiesProvider propertiesProvider = new PsiPropertiesProvider(module); final Document doc = FileDocumentManager.getInstance().getDocument(formFile); final LwRootContainer rootContainer; try { rootContainer = Utils.getRootContainer(doc.getText(), propertiesProvider); } catch (AlienFormFileException ignored) { // ignoring this file return; } catch (Exception e) { myErrors.add(new FormErrorInfo(null, UIDesignerBundle.message("error.cannot.process.form.file", e))); return; } if (rootContainer.getClassToBind() == null) { // form skipped - no class to bind return; } ErrorAnalyzer.analyzeErrors(module, formFile, null, rootContainer, null); FormEditingUtil.iterate( rootContainer, new FormEditingUtil.ComponentVisitor<LwComponent>() { @Override public boolean visit(final LwComponent iComponent) { final ErrorInfo errorInfo = ErrorAnalyzer.getErrorForComponent(iComponent); if (errorInfo != null) { String message; if (iComponent.getBinding() != null) { message = UIDesignerBundle.message("error.for.component", iComponent.getBinding(), errorInfo.myDescription); } else { message = errorInfo.myDescription; } myErrors.add(new FormErrorInfo(iComponent.getId(), message)); } return true; } } ); if (myErrors.size() != 0) { return; } try { _generate(rootContainer, module); } catch (ClassToBindNotFoundException e) { // ignore } catch (CodeGenerationException e) { myErrors.add(new FormErrorInfo(e.getComponentId(), e.getMessage())); } catch (IncorrectOperationException e) { myErrors.add(new FormErrorInfo(null, e.getMessage())); } }