List of usage examples for org.eclipse.jdt.core IJavaProject newEvaluationContext
IEvaluationContext newEvaluationContext();
From source file:com.google.gwt.eclipse.core.editors.java.contentassist.JsniCompletionProcessor.java
License:Open Source License
private IEvaluationContext createEvaluationContext() throws JavaModelException { IJavaProject project = cu.getJavaProject(); IEvaluationContext evalContext = project.newEvaluationContext(); String pckgName = cu.getPackageDeclarations()[0].getElementName(); // Scope evaluation to the containing package evalContext.setPackageName(pckgName); return evalContext; }
From source file:org.drools.eclipse.editors.completion.DefaultCompletionProcessor.java
License:Apache License
protected List getAllClassProposals(final String classNameStart, final int documentOffset, final String prefix) { List result = new ArrayList(); IJavaProject javaProject = getCurrentJavaProject(); if (javaProject == null) { return result; }/*from w ww . j av a2s . c o m*/ CompletionProposalCollector collector = new CompletionProposalCollector(javaProject) { public void accept(CompletionProposal proposal) { if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.PACKAGE_REF || proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) { super.accept(proposal); } } }; collector.acceptContext(new CompletionContext()); try { IEvaluationContext evalContext = javaProject.newEvaluationContext(); evalContext.codeComplete(classNameStart, classNameStart.length(), collector); IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals(); for (int i = 0; i < proposals.length; i++) { if (proposals[i] instanceof AbstractJavaCompletionProposal) { AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i]; int replacementOffset = documentOffset - (classNameStart.length() - javaProposal.getReplacementOffset()); javaProposal.setReplacementOffset(replacementOffset); if (javaProposal instanceof LazyJavaTypeCompletionProposal) { String completionPrefix = classNameStart .substring(classNameStart.length() - javaProposal.getReplacementLength()); int dotIndex = completionPrefix.lastIndexOf('.'); // match up to the last dot in order to make higher level matching still work (camel case...) if (dotIndex != -1) { javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName()); } } result.add(proposals[i]); } } } catch (Throwable t) { DroolsEclipsePlugin.log(t); } return result; }
From source file:org.drools.eclipse.editors.completion.DefaultCompletionProcessor.java
License:Apache License
protected void requestJavaCompletionProposals(final String javaText, final String prefix, final int documentOffset, Map params, Collection results, boolean useDrools, boolean useContext) { String javaTextWithoutPrefix = CompletionUtil.getTextWithoutPrefix(javaText, prefix); // boolean to filter default Object methods produced by code completion when in the beginning of a statement boolean filterObjectMethods = false; if ("".equals(javaTextWithoutPrefix.trim()) || CompletionUtil.START_OF_NEW_JAVA_STATEMENT.matcher(javaTextWithoutPrefix).matches()) { filterObjectMethods = true;//from w ww. j av a 2 s . c o m } IJavaProject javaProject = getCurrentJavaProject(); if (javaProject == null) { return; } CompletionProposalCollector collector = new CompletionProposalCollector(javaProject); collector.acceptContext(new CompletionContext()); try { IEvaluationContext evalContext = javaProject.newEvaluationContext(); List imports = getImports(); if (imports != null && imports.size() > 0) { evalContext.setImports((String[]) imports.toArray(new String[imports.size()])); } StringBuffer javaTextWithParams = new StringBuffer(); Iterator iterator = params.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = (Map.Entry) iterator.next(); // this does not seem to work, so adding variables manually // evalContext.newVariable((String) entry.getValue(), (String) entry.getKey(), null); javaTextWithParams.append(entry.getValue() + " " + entry.getKey() + ";\n"); } if (useDrools) { javaTextWithParams.append("org.drools.spi.KnowledgeHelper drools;"); javaTextWithParams.append("org.drools.runtime.rule.RuleContext kcontext;"); } if (useContext) { javaTextWithParams.append("org.drools.spi.ProcessContext context;"); javaTextWithParams.append("org.drools.runtime.process.ProcessContext kcontext;"); } javaTextWithParams.append(javaText); String jtext = javaTextWithParams.toString(); String fixedText = new KnowledgeHelperFixer().fix(jtext); evalContext.codeComplete(fixedText, fixedText.length(), collector); IJavaCompletionProposal[] proposals = collector.getJavaCompletionProposals(); for (int i = 0; i < proposals.length; i++) { if (proposals[i] instanceof AbstractJavaCompletionProposal) { AbstractJavaCompletionProposal javaProposal = (AbstractJavaCompletionProposal) proposals[i]; int replacementOffset = documentOffset - (fixedText.length() - javaProposal.getReplacementOffset()); javaProposal.setReplacementOffset(replacementOffset); if (javaProposal instanceof LazyJavaTypeCompletionProposal) { String completionPrefix = javaText .substring(javaText.length() - javaProposal.getReplacementLength()); int dotIndex = completionPrefix.lastIndexOf('.'); // match up to the last dot in order to make higher level matching still work (camel case...) if (dotIndex != -1) { javaProposal.setReplacementString( ((LazyJavaTypeCompletionProposal) javaProposal).getQualifiedTypeName()); } } if (!filterObjectMethods || !(proposals[i] instanceof JavaMethodCompletionProposal)) { results.add(proposals[i]); } } } } catch (Throwable t) { DroolsEclipsePlugin.log(t); } }
From source file:org.drools.eclipse.editors.DRLRuleEditor.java
License:Apache License
public static List<String> getAllClassesInPackage(String packageName, IJavaProject javaProject) { final List<String> list = new ArrayList<String>(); CompletionRequestor requestor = new CompletionRequestor() { public void accept(org.eclipse.jdt.core.CompletionProposal proposal) { String className = new String(proposal.getCompletion()); if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.TYPE_REF) { list.add(className);/*from w w w .j av a2 s . c o m*/ } // ignore all other proposals } }; try { javaProject.newEvaluationContext().codeComplete(packageName + ".", packageName.length() + 1, requestor); } catch (Throwable t) { DroolsEclipsePlugin.log(t); } return list; }
From source file:org.drools.eclipse.editors.DRLRuleEditor.java
License:Apache License
protected List<String> getAllStaticMethodsInClass(String className) { final List<String> list = new ArrayList<String>(); if (className != null) { IEditorInput input = getEditorInput(); if (input instanceof IFileEditorInput) { IProject project = ((IFileEditorInput) input).getFile().getProject(); IJavaProject javaProject = JavaCore.create(project); CompletionRequestor requestor = new CompletionRequestor() { public void accept(org.eclipse.jdt.core.CompletionProposal proposal) { String functionName = new String(proposal.getCompletion()); if (proposal.getKind() == org.eclipse.jdt.core.CompletionProposal.METHOD_REF) { list.add(functionName.substring(0, functionName.length() - 2)); // remove the () }/* w ww. j a v a 2s .co m*/ // ignore all other proposals } }; try { javaProject.newEvaluationContext().codeComplete(className + ".", className.length() + 1, requestor); } catch (Throwable t) { DroolsEclipsePlugin.log(t); } } } return list; }
From source file:org.hibernate.eclipse.criteriaeditor.CriteriaEditor.java
License:Open Source License
protected IEvaluationContext getEvaluationContext(IJavaProject project) { IEvaluationContext evalCtx = null;/*from ww w.ja v a 2s . co m*/ if (project != null) { evalCtx = project.newEvaluationContext(); } if (evalCtx != null) { evalCtx.setImports(getImports()); } return evalCtx; }
From source file:org.hibernate.eclipse.hqleditor.CompletionHelper.java
License:Open Source License
static public ICompletionProposal[] completeOnJavaTypes(IJavaProject javaProject, Settings settings, String packageName, String start, int offset) { if (javaProject != null) { IEvaluationContext context = javaProject.newEvaluationContext(); if (packageName != null) { context.setPackageName(packageName); }/*from w w w. j a v a 2 s . c om*/ HibernateResultCollector rc = new HibernateResultCollector(javaProject); rc.acceptContext(new CompletionContext()); //rc.reset(offset, javaProject, null); rc.setAccepts(settings); try { // cannot send in my own document as it won't compile as // java - so we just send in // the smallest snippet possible context.codeComplete(start, start.length(), rc); } catch (JavaModelException jme) { HibernateConsolePlugin.getDefault().logErrorMessage( HibernateConsoleMessages.CompletionHelper_could_not_complete_java_types, jme); } IJavaCompletionProposal[] results = rc.getJavaCompletionProposals(); transpose(start, offset, results); return results; } return new ICompletionProposal[0]; }