List of usage examples for org.eclipse.jdt.core CompletionProposal getFlags
public int getFlags()
Flags.AccDefault
if none. From source file:at.bestsolution.javafx.ide.jdt.internal.JavaEditor.java
License:Open Source License
@Inject public JavaEditor(BorderPane pane, IEditorInput input) { editor = new SourceEditor(); pane.setCenter(editor);//from w w w.j av a 2 s . c o m IResourceFileInput fsInput = (IResourceFileInput) input; try { unit = ((ICompilationUnit) JavaCore.create(fsInput.getFile())) .getWorkingCopy(new FXWorkingCopyOwner(new IProblemRequestor() { private List<ProblemMarker> l = new ArrayList<>(); @Override public boolean isActive() { // TODO Auto-generated method stub return true; } @Override public void endReporting() { setMarkers(l); } @Override public void beginReporting() { l.clear(); } @Override public void acceptProblem(IProblem problem) { int linenumber = problem.getSourceLineNumber(); int startCol = problem.getSourceStart(); int endCol = problem.getSourceEnd(); if (endCol == startCol) { endCol++; } String description = problem.getMessage(); ProblemMarker marker = new ProblemMarker( problem.isError() ? at.bestsolution.javafx.ide.editor.ProblemMarker.Type.ERROR : at.bestsolution.javafx.ide.editor.ProblemMarker.Type.WARNING, linenumber, startCol, endCol, description); l.add(marker); } }), new NullProgressMonitor()); } catch (JavaModelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } final Document doc = createDocument(unit); editor.setDocument(doc); editor.setContentProposalComputer(new ContentProposalComputer() { @Override public List<Proposal> computeProposals(String line, String prefix, int offset) { final List<Proposal> l = new ArrayList<ContentProposalComputer.Proposal>(); try { unit.codeComplete(offset, new CompletionRequestor() { @Override public void accept(CompletionProposal proposal) { String completion = new String(proposal.getCompletion()); if (!Flags.isPublic(proposal.getFlags())) { return; } if (proposal.getKind() == CompletionProposal.METHOD_REF) { String sig = Signature.toString(new String(proposal.getSignature()), new String(proposal.getName()), null, false, false); StyledString s = new StyledString(sig + " : " + Signature.getSimpleName(Signature .toString(Signature.getReturnType(new String(proposal.getSignature()))))); s.appendString( " - " + Signature.getSignatureSimpleName( new String(proposal.getDeclarationSignature())), Style.colored("#AAAAAA")); l.add(new Proposal(Type.METHOD, completion, s)); } else if (proposal.getKind() == CompletionProposal.FIELD_REF) { StyledString s = new StyledString( completion + " : " + (proposal.getSignature() != null ? Signature.getSignatureSimpleName( new String(proposal.getSignature())) : "<unknown>")); s.appendString( " - " + (proposal.getDeclarationSignature() != null ? Signature.getSignatureSimpleName( new String(proposal.getDeclarationSignature())) : "<unknown>"), Style.colored("#AAAAAA")); l.add(new Proposal(Type.FIELD, completion, s)); } else if (proposal.getKind() == CompletionProposal.TYPE_REF) { if (proposal.getAccessibility() == IAccessRule.K_NON_ACCESSIBLE) { return; } StyledString s = new StyledString( Signature.getSignatureSimpleName(new String(proposal.getSignature()))); s.appendString(" - " + new String(proposal.getDeclarationSignature()), Style.colored("#AAAAAA")); l.add(new Proposal(Type.TYPE, new String(proposal.getCompletion()), s)); } else { System.err.println(proposal); } } }); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } return l; } }); editor.setSaveCallback(new Runnable() { @Override public void run() { try { unit.commitWorkingCopy(true, null); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); try { unit.reconcile(ICompilationUnit.NO_AST, true, null, null); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:com.amashchenko.eclipse.strutsclipse.java.SimpleJavaProposalCollector.java
License:Apache License
@Override protected IJavaCompletionProposal createJavaCompletionProposal(CompletionProposal proposal) { if (collectMethods) { if (CompletionProposal.METHOD_REF == proposal.getKind() && Flags.isPublic(proposal.getFlags())) { char[] sig = proposal.getSignature(); char[] declSig = proposal.getDeclarationSignature(); // collect methods suitable for action methods ignoring Object // methods if (sig != null && declSig != null && ACTION_METHOD_SIGNATURE.equals(String.valueOf(sig)) && !OBJECT_SIGNATURE.equals(String.valueOf(declSig))) { return new SimpleJavaCompletionProposal(proposal, getInvocationContext(), getImage(getLabelProvider().createImageDescriptor(proposal))); }//from w w w .j ava2s.c om } } else { // collect packages and classes suitable for actions if ((CompletionProposal.PACKAGE_REF == proposal.getKind() || CompletionProposal.TYPE_REF == proposal.getKind()) && !Flags.isAbstract(proposal.getFlags()) && !Flags.isInterface(proposal.getFlags()) && !Flags.isEnum(proposal.getFlags())) { return new SimpleJavaCompletionProposal(proposal, getInvocationContext(), getImage(getLabelProvider().createImageDescriptor(proposal))); } } return null; }
From source file:com.microsoft.javapkgsrv.JavaParser.java
License:MIT License
private AutocompleteResponse.Completion translateToCompletion(CompletionProposal proposal) { AutocompleteResponse.Completion.Builder builder = AutocompleteResponse.Completion.newBuilder() .setKind(AutocompleteResponse.Completion.CompletionKind.valueOf(proposal.getKind())) .setIsConstructor(proposal.isConstructor()) .setCompletionText(String.copyValueOf(proposal.getCompletion())).setFlags(proposal.getFlags()) .setRelevance(proposal.getRelevance()).setReplaceStart(proposal.getReplaceStart()) .setReplaceEnd(proposal.getReplaceEnd()); char[] sig = proposal.getSignature(); if (sig != null) { if (proposal.getKind() == CompletionProposal.METHOD_REF || proposal.getKind() == CompletionProposal.JAVADOC_METHOD_REF) builder.setSignature(new String(Signature.toCharArray(sig, proposal.getName(), null, false, true))); else// w w w . j av a 2s. co m builder.setSignature(new String(Signature.toCharArray(sig))); } char[] name = proposal.getName(); if (name == null) builder.setName(builder.getCompletionText()); else builder.setName(String.copyValueOf(name)); return builder.build(); }
From source file:com.siteview.mde.internal.ui.editor.contentassist.TypePackageCompletionProcessor.java
License:Open Source License
private void generateProposals(String currentContent, IProject project, final Collection c, final int startOffset, final int length, final int typeScope) { class TypePackageCompletionRequestor extends CompletionRequestor { public TypePackageCompletionRequestor() { super(true); setIgnored(CompletionProposal.PACKAGE_REF, false); setIgnored(CompletionProposal.TYPE_REF, false); }/*from ww w.j av a2 s . c o m*/ public void accept(CompletionProposal proposal) { if (proposal.getKind() == CompletionProposal.PACKAGE_REF) { String pkgName = new String(proposal.getCompletion()); addProposalToCollection(c, startOffset, length, pkgName, pkgName, MDEPluginImages.get(MDEPluginImages.OBJ_DESC_PACKAGE)); } else { boolean isInterface = Flags.isInterface(proposal.getFlags()); String completion = new String(proposal.getCompletion()); if (isInterface && typeScope == IJavaSearchConstants.CLASS || (!isInterface && typeScope == IJavaSearchConstants.INTERFACE) || completion.equals("Dummy2")) //$NON-NLS-1$ // don't want Dummy class showing up as option. return; int period = completion.lastIndexOf('.'); String cName = null, pName = null; if (period == -1) { cName = completion; } else { cName = completion.substring(period + 1); pName = completion.substring(0, period); } Image image = isInterface ? MDEPluginImages.get(MDEPluginImages.OBJ_DESC_GENERATE_INTERFACE) : MDEPluginImages.get(MDEPluginImages.OBJ_DESC_GENERATE_CLASS); addProposalToCollection(c, startOffset, length, cName + " - " + pName, //$NON-NLS-1$ completion, image); } } } try { ICompilationUnit unit = getWorkingCopy(project); if (unit == null) { generateTypeProposals(currentContent, project, c, startOffset, length, 1); return; } IBuffer buff = unit.getBuffer(); buff.setContents("class Dummy2 { " + currentContent); //$NON-NLS-1$ CompletionRequestor req = new TypePackageCompletionRequestor(); unit.codeComplete(15 + currentContent.length(), req); unit.discardWorkingCopy(); } catch (JavaModelException e) { } }
From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java
License:Open Source License
/********************************************************************************/ static void outputCompletion(CompletionProposal cp, IvyXmlWriter xw) { xw.begin("COMPLETION"); fieldValue(xw, "ACCESSIBILITY", cp.getAccessibility(), accessibility_types); if (cp.isConstructor()) xw.field("CONSTRUCTOR", true); xw.field("TEXT", cp.getCompletion()); xw.field("INDEX", cp.getCompletionLocation()); xw.field("DECLKEY", cp.getDeclarationKey()); switch (cp.getKind()) { case CompletionProposal.ANNOTATION_ATTRIBUTE_REF: case CompletionProposal.ANONYMOUS_CLASS_DECLARATION: case CompletionProposal.FIELD_IMPORT: case CompletionProposal.FIELD_REF: case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER: case CompletionProposal.METHOD_IMPORT: case CompletionProposal.METHOD_REF: case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER: case CompletionProposal.METHOD_DECLARATION: case CompletionProposal.POTENTIAL_METHOD_DECLARATION: xw.field("DECLSIGN", cp.getDeclarationSignature()); break;/*www. j av a2 s . com*/ case CompletionProposal.PACKAGE_REF: case CompletionProposal.TYPE_IMPORT: case CompletionProposal.TYPE_REF: xw.field("DOTNAME", cp.getDeclarationSignature()); break; } fieldFlags(xw, "ACCESS", cp.getFlags(), access_flags); xw.field("FLAGS", cp.getFlags()); xw.field("KEY", cp.getKey()); xw.field("NAME", cp.getName()); xw.field("RELEVANCE", cp.getRelevance()); xw.field("REPLACE_START", cp.getReplaceStart()); xw.field("REPLACE_END", cp.getReplaceEnd()); xw.field("SIGNATURE", cp.getSignature()); xw.field("TOKEN_START", cp.getTokenStart()); xw.field("TOKEN_END", cp.getTokenEnd()); fieldValue(xw, "KIND", cp.getKind(), completion_types); if (cp instanceof ICompletionProposalExtension4) { ICompletionProposalExtension4 icp4 = (ICompletionProposalExtension4) cp; xw.field("AUTO", icp4.isAutoInsertable()); } if (CompletionFlags.isStaticImport(cp.getAdditionalFlags())) xw.field("STATICIMPORT", true); if (cp.getKind() == CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER || cp.getKind() == CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER) { xw.field("RECEIVER_SIGN", cp.getReceiverSignature()); xw.field("RECEIVER_START", cp.getReceiverStart()); xw.field("RECEIVER_END", cp.getReceiverEnd()); } xw.field("RCVR", cp.getReceiverSignature()); xw.cdataElement("DESCRIPTION", cp.toString()); CompletionProposal[] rq = cp.getRequiredProposals(); if (rq != null) { xw.begin("REQUIRED"); for (CompletionProposal xcp : rq) outputCompletion(xcp, xw); xw.end("REQUIRED"); } xw.end("COMPLETION"); }
From source file:org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.java
License:Open Source License
protected boolean shouldAccept(CompletionProposal proposal) { if (proposal.getKind() == CompletionProposal.FIELD_REF || proposal.getKind() == CompletionProposal.METHOD_REF) { if (world == null) { world = new AJWorldFacade(unit.getJavaProject().getProject()); }//w w w.j a va 2s. com ITDInfo info = world.findITDInfoFromTargetType(proposal.getDeclarationSignature(), proposal.getName()); if (info != null) { if (info.accessibility == Accessibility.PUBLIC) { // accessible everywhere return true; } else if (info.accessibility == Accessibility.PACKAGE) { // accessible only in package of declaring aspect if (((IPackageFragment) unit.getParent()).getElementName().equals(info.packageDeclaredIn)) { int oldFlags = proposal.getFlags(); oldFlags |= Flags.AccDefault; oldFlags &= ~Flags.AccPublic; proposal.setFlags(oldFlags); return true; } } else if (info.accessibility == Accessibility.PRIVATE) { // accessible only in declaring aspect's compilation unit if (unit.getElementName().startsWith(info.topLevelAspectName + ".") && ((IPackageFragment) unit.getParent()).getElementName() .equals(info.packageDeclaredIn)) { int oldFlags = proposal.getFlags(); oldFlags |= Flags.AccPrivate; oldFlags &= ~Flags.AccPublic; proposal.setFlags(oldFlags); return true; } } return false; } else { // not an ITD return true; } } else if (proposal.getKind() == CompletionProposal.LOCAL_VARIABLE_REF) { // check to see if this is the proposal that has been added by the context switch for ITDs if (contextSwitchIgnore(proposal)) { return false; } } else if (proposal.getKind() == CompletionProposal.TYPE_REF) { // check to see if this is an ITIT type that should not be see char[] typeName = (char[]) ReflectionUtils.getPrivateField(InternalCompletionProposal.class, "typeName", (InternalCompletionProposal) proposal); if (typeName != null && CharOperation.contains('$', typeName)) { return false; } } return true; }
From source file:org.eclipse.ajdt.ui.tests.editor.contentassist.PetClinicTests.java
License:Open Source License
/** * Tests that ITDs that are not visible in the current * scope do not appear as content assist proposals *///from w ww. java 2 s. c om public void testPrivateContentAssistShouldAppear() throws Exception { MockCompletionRequestor requestor = new MockCompletionRequestor(); // check that itds are inserted int offset = entityAspectContents.indexOf("this.") + "this.".length(); entityAspect.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE); // should see the id proposal. It is private, but declared in this aspect CompletionProposal idProposal = null; for (Iterator acceptedIter = requestor.accepted.iterator(); acceptedIter.hasNext();) { CompletionProposal proposal = (CompletionProposal) acceptedIter.next(); if (new String(proposal.getName()).equals("id")) { idProposal = proposal; } } assertNotNull("Should have found the 'id' proposal because it is private, but declared in this aspect", idProposal); assertTrue("Proposal should be marked as Package Protected", ProgramElement.genAccessibility(idProposal.getFlags()) == Accessibility.PRIVATE); }
From source file:org.eclipse.ajdt.ui.tests.editor.contentassist.PetClinicTests.java
License:Open Source License
public void testPackageProtectedContentAssistShouldAppear() throws Exception { MockCompletionRequestor requestor = new MockCompletionRequestor(); // check that itds are inserted int offset = ownerUnitContents.indexOf("this.") + "this.".length(); ownerUnit.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE); // should see the entityManager proposal. It is package protected in an ITD in the same package CompletionProposal entityManagerProposal = null; for (Iterator acceptedIter = requestor.accepted.iterator(); acceptedIter.hasNext();) { CompletionProposal proposal = (CompletionProposal) acceptedIter.next(); if (new String(proposal.getName()).equals("entityManager")) { entityManagerProposal = proposal; }//w w w . j a v a 2 s . co m } assertNotNull("Should have found the 'entityManager' proposal because it is package protected", entityManagerProposal); assertTrue("Proposal should be marked as Package Protected", ProgramElement.genAccessibility(entityManagerProposal.getFlags()) == Accessibility.PACKAGE); }
From source file:org.eclipse.ajdt.ui.tests.editor.contentassist.PetClinicTests.java
License:Open Source License
public void testPublicContentAssistShouldAppear() throws Exception { MockCompletionRequestor requestor = new MockCompletionRequestor(); // check that itds are inserted int offset = ownerControllerContents.indexOf("new Owner().") + "new Owner().".length(); ownerController.codeComplete(offset, requestor, AJWorkingCopyOwner.INSTANCE); // should see the entityManager proposal. It is package protected in an ITD in the same package CompletionProposal getAddressProposal = null; for (Iterator acceptedIter = requestor.accepted.iterator(); acceptedIter.hasNext();) { CompletionProposal proposal = (CompletionProposal) acceptedIter.next(); if (new String(proposal.getName()).equals("getAddress")) { getAddressProposal = proposal; }/*from w w w . ja va 2s . c o m*/ } assertNotNull("Should have found the 'getAddress' proposal because it is public", getAddressProposal); assertTrue("Proposal should be marked as Public", ProgramElement.genAccessibility(getAddressProposal.getFlags()) == Accessibility.PUBLIC); }
From source file:org.eclipse.dltk.freemarker.internal.ui.jdt.contentassist.TypePackageCompletionProcessor.java
License:Open Source License
private void generateProposals(String currentContent, IProject project, final Collection c, final int startOffset, final int length, final int typeScope) { class TypePackageCompletionRequestor extends CompletionRequestor { public TypePackageCompletionRequestor() { super(true); setIgnored(CompletionProposal.PACKAGE_REF, false); setIgnored(CompletionProposal.TYPE_REF, false); }//from ww w . j a v a 2s.c om public void accept(CompletionProposal proposal) { if (proposal.getKind() == CompletionProposal.PACKAGE_REF) { String pkgName = new String(proposal.getCompletion()); addProposalToCollection(c, startOffset, length, pkgName, pkgName, FreemarkerUIPluginImages.get(FreemarkerUIPluginImages.OBJ_DESC_PACKAGE)); } else { boolean isInterface = Flags.isInterface(proposal.getFlags()); String completion = new String(proposal.getCompletion()); if (isInterface && typeScope == IJavaSearchConstants.CLASS || (!isInterface && typeScope == IJavaSearchConstants.INTERFACE) || completion.equals("Dummy2")) //$NON-NLS-1$ // don't want Dummy class showing up as option. return; int period = completion.lastIndexOf('.'); String cName = null, pName = null; if (period == -1) { cName = completion; } else { cName = completion.substring(period + 1); pName = completion.substring(0, period); } Image image = isInterface ? FreemarkerUIPluginImages.get(FreemarkerUIPluginImages.OBJ_DESC_GENERATE_INTERFACE) : FreemarkerUIPluginImages.get(FreemarkerUIPluginImages.OBJ_DESC_GENERATE_CLASS); addProposalToCollection(c, startOffset, length, cName + " - " + pName, //$NON-NLS-1$ completion, image); } } } try { ICompilationUnit unit = getWorkingCopy(project); if (unit == null) { generateTypeProposals(currentContent, project, c, startOffset, length, 1); return; } IBuffer buff = unit.getBuffer(); buff.setContents("class Dummy2 { " + currentContent); //$NON-NLS-1$ CompletionRequestor req = new TypePackageCompletionRequestor(); unit.codeComplete(15 + currentContent.length(), req); unit.discardWorkingCopy(); } catch (JavaModelException e) { } }