/** * Performs the reconcile and returns the AST if it was computed. * * @param unit the compilation unit * @param initialReconcile <code>true</code> if this is the initial reconcile * @return the AST or <code>null</code> if none * @throws JavaModelException if the original Java element does not exist * @since 3.4 */ private Program reconcile(ISourceModule unit, boolean initialReconcile) throws ModelException { /* fix for missing cancel flag communication */ IProblemRequestorExtension extension = getProblemRequestorExtension(); if (extension != null) { extension.setProgressMonitor(fProgressMonitor); extension.setIsActive(true); } try { final ASTProvider astProvider = PHPUiPlugin.getDefault().getASTProvider(); synchronized (unit) { unit.reconcile(true, null, fProgressMonitor); } // read DOM AST from provider if avaiable Program createdAST = astProvider.getAST(unit, SharedASTProvider.WAIT_NO, fProgressMonitor); if (astProvider.isActive(unit) && createdAST != null) { return createdAST; } if (initialReconcile || astProvider.isActive(unit)) { PHPVersion phpVersion = ProjectOptions.getPhpVersion(unit.getScriptProject().getProject()); ASTParser newParser = ASTParser.newParser(phpVersion, unit); createdAST = newParser.createAST(null); if (createdAST != null && document != null) { createdAST.setSourceModule(unit); createdAST.setSourceRange(0, document.getLength()); createdAST.setLineEndTable(Util.lineEndTable(document)); } return createdAST; } } catch (OperationCanceledException ex) { Assert.isTrue(fProgressMonitor == null || fProgressMonitor.isCanceled()); } catch (Exception e) { throw new ModelException(e, IStatus.ERROR); } finally { /* fix for missing cancel flag communication */ if (extension != null) { extension.setProgressMonitor(null); extension.setIsActive(false); } } return null; }
public JavaScriptSupportGroup(Composite composite, WizardPage projectWizardFirstPage) { final int numColumns = 3; fGroup = new Group(composite, SWT.NONE); fGroup.setFont(composite.getFont()); fGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fGroup.setLayout(initGridLayout(new GridLayout(numColumns, false), true)); fGroup.setText(PHPUIMessages.JavaScriptSupportGroup_OptionBlockTitle); // $NON-NLS-1$ fEnableJavaScriptSupport = new Button(fGroup, SWT.CHECK | SWT.RIGHT); fEnableJavaScriptSupport.setText( PHPUIMessages.JavaScriptSupportGroup_EnableSupport); // $NON-NLS-1$ fEnableJavaScriptSupport.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); fEnableJavaScriptSupport.addSelectionListener(this); fEnableJavaScriptSupport.setSelection( PHPUiPlugin.getDefault() .getPreferenceStore() .getBoolean((PreferenceConstants.JavaScriptSupportEnable))); }
public boolean shouldSupportJavaScript() { return PHPUiPlugin.getDefault() .getPreferenceStore() .getBoolean((PreferenceConstants.JavaScriptSupportEnable)); }