package cideplus.automation; import java.util.Set; import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.dom.AST; import org.eclipse.jdt.core.dom.ASTParser; import org.eclipse.jdt.core.dom.CompilationUnit; import org.eclipse.jface.dialogs.MessageDialog; import cideplus.model.Feature; import cideplus.ui.configuration.IFeaturesManager; public class Util { public static Set<Feature> getSafeFeatures(final IFeaturesManager featuresManager){ try { return featuresManager.getFeatures(); } catch (Exception e) { MessageDialog.openError(null, "Erro", "Erro ao ler as features do projeto. "+e.getMessage()); throw new RuntimeException(e); } } public static CompilationUnit getAst(ICompilationUnit compUnit) { return getAst(compUnit, true); //return SharedASTProvider.getAST(compUnit, SharedASTProvider.WAIT_YES, new NullProgressMonitor()); } public static CompilationUnit getAst(ICompilationUnit compUnit, boolean resolveBindings) { ASTParser astParser = ASTParser.newParser(AST.JLS3); astParser.setResolveBindings(true); astParser.setBindingsRecovery(true); astParser.setStatementsRecovery(true); astParser.setSource(compUnit); return (CompilationUnit) astParser.createAST(null); //return SharedASTProvider.getAST(compUnit, SharedASTProvider.WAIT_YES, new NullProgressMonitor()); } }