List of usage examples for org.eclipse.jdt.core IJavaElement METHOD
int METHOD
To view the source code for org.eclipse.jdt.core IJavaElement METHOD.
Click Source Link
From source file:org.eclipse.wb.internal.core.utils.jdt.core.JavadocContentAccess.java
License:Open Source License
/** * @return the {@link Reader} for an {@link IMember}'s Javadoc comment content from the source * attachment./*from www.j a va2 s . c o m*/ */ public static Reader getContentReader(IMember member, boolean allowInherited) throws Exception { // check current type { IBuffer buffer = member.isBinary() ? member.getClassFile().getBuffer() : member.getCompilationUnit().getBuffer(); // no source attachment found if (buffer == null) { return null; } // ISourceRange range = member.getSourceRange(); int start = range.getOffset(); int length = range.getLength(); if (length > 0 && buffer.getChar(start) == '/') { // prepare scanner IScanner scanner; { scanner = ToolFactory.createScanner(true, false, false, false); scanner.setSource(buffer.getCharacters()); scanner.resetTo(start, start + length - 1); } // find last JavaDoc comment { int docOffset = -1; int docEnd = -1; { int terminal = scanner.getNextToken(); while (org.eclipse.jdt.internal.corext.dom.TokenScanner.isComment(terminal)) { if (terminal == ITerminalSymbols.TokenNameCOMMENT_JAVADOC) { docOffset = scanner.getCurrentTokenStartPosition(); docEnd = scanner.getCurrentTokenEndPosition() + 1; } terminal = scanner.getNextToken(); } } // if comment found, return it if (docOffset != -1) { return new JavaDocCommentReader(buffer, docOffset, docEnd); } } } } // check inherited if (allowInherited && member.getElementType() == IJavaElement.METHOD) { IMethod method = (IMethod) member; IMethod superMethod = CodeUtils.findSuperMethod(method); if (superMethod != null) { return getContentReader(superMethod, allowInherited); } } // not found return null; }
From source file:org.eclipse.wst.xml.search.editor.internal.jdt.search.XMLReferenceJavaSearchParticipant.java
License:Open Source License
public void search(final ISearchRequestor requestor, final QuerySpecification query, IProgressMonitor monitor) throws CoreException { if (!isValid(query)) { return;//from ww w . jav a 2 s .c o m } if (monitor == null) { monitor = new NullProgressMonitor(); } monitor.beginTask("", 11); //$NON-NLS-1$ try { // Get Java project, class name and method name to search IJavaProject javaProject = null; String className = null; String methodName = null; if (query instanceof ElementQuerySpecification) { // Java Search launched with Java Editor with Ctrl+Shift+G ElementQuerySpecification elementQuery = (ElementQuerySpecification) query; IJavaElement element = elementQuery.getElement(); if (element instanceof IMember) { IMember member = (IMember) element; javaProject = member.getJavaProject(); if (member.getElementType() == IJavaElement.TYPE) { // Java class IType type = (IType) member; className = type.getFullyQualifiedName('.'); } else if (member.getElementType() == IJavaElement.METHOD) { IMethod method = (IMethod) member; methodName = method.getElementName(); className = method.getDeclaringType().getFullyQualifiedName('.'); } } else { return; } } else if (query instanceof PatternQuerySpecification) { // Java Search launched with Java UI Dialog Search PatternQuerySpecification patternQuery = (PatternQuerySpecification) query; if (patternQuery.getSearchFor() == IJavaSearchConstants.METHOD) { methodName = patternQuery.getPattern(); } else { className = patternQuery.getPattern(); } } if (monitor.isCanceled()) { return; } monitor.worked(1); if (className == null && methodName == null) { return; } ToType toType = (!StringUtils.isEmpty(methodName) ? ToType.JAVA_METHOD : ToType.JAVA); Collection<IXMLReference> references = XMLReferencesManager.getInstance() .getXMLReferencesForToType(toType); if (references.size() < 1) { return; } XMLReferencesIndexManager.getDefault().flushIndexedFiles(javaProject); searchXMLReferences(query.getScope(), requestor, className, methodName, javaProject, references, toType, new SubProgressMonitor(monitor, 7)); } finally { monitor.done(); } }
From source file:org.eclipse.wst.xml.search.editor.internal.jdt.search.XMLReferenceJavaSearchParticipant.java
License:Open Source License
/** * Determines if the current query should be considered or not * //from ww w .j a v a 2 s . c om * @param query * the current query * @return true if the query should be considered, false otherwise */ private boolean isValid(QuerySpecification query) { switch (query.getLimitTo()) { case IJavaSearchConstants.REFERENCES: case IJavaSearchConstants.ALL_OCCURRENCES: { break; } default: { return false; } } if (query instanceof ElementQuerySpecification) { IJavaElement element = ((ElementQuerySpecification) query).getElement(); return element.getElementType() == IJavaElement.TYPE || element.getElementType() == IJavaElement.METHOD; } if (query instanceof PatternQuerySpecification) { PatternQuerySpecification patternQuery = (PatternQuerySpecification) query; switch (patternQuery.getSearchFor()) { case IJavaSearchConstants.UNKNOWN: case IJavaSearchConstants.TYPE: case IJavaSearchConstants.CLASS: case IJavaSearchConstants.CLASS_AND_INTERFACE: case IJavaSearchConstants.METHOD: { return true; } } } return false; }
From source file:org.eclipse.xtend.ide.hyperlinking.XtendHyperlinkHelper.java
License:Open Source License
@Override public void createHyperlinksByOffset(XtextResource resource, int offset, IHyperlinkAcceptor acceptor) { super.createHyperlinksByOffset(resource, offset, acceptor); if (canShowMany(acceptor)) { final EObject element = getEObjectAtOffsetHelper().resolveElementAt(resource, offset); if (element instanceof XtendField) { XtendField member = (XtendField) element; ILeafNode node = NodeModelUtils.findLeafNodeAtOffset(resource.getParseResult().getRootNode(), offset);//from ww w .j av a 2 s. c o m if (isNameNode(member, XtendPackage.Literals.XTEND_FIELD__NAME, node) && member.getType() == null) { EObject jvmElement = associations.getPrimaryJvmElement(member); if (jvmElement instanceof JvmIdentifiableElement) { addOpenInferredTypeHyperlink(resource, (JvmIdentifiableElement) jvmElement, node, acceptor); } } } if (element instanceof XtendFunction) { XtendFunction member = (XtendFunction) element; ILeafNode node = NodeModelUtils.findLeafNodeAtOffset(resource.getParseResult().getRootNode(), offset); if (isNameNode(member, XtendPackage.Literals.XTEND_FUNCTION__NAME, node)) { EObject jvmElement = associations.getPrimaryJvmElement(member); if (jvmElement instanceof JvmIdentifiableElement) { JvmIdentifiableElement identifiableElement = (JvmIdentifiableElement) jvmElement; if (member.getReturnType() == null) { addOpenInferredTypeHyperlink(resource, identifiableElement, node, acceptor); } IJavaElement javaElement = javaElementFinder.findExactElementFor(identifiableElement); if (sourceViewer != null && javaElement != null && (javaElement.getElementType() == IJavaElement.METHOD && canBeOverridden((IMethod) javaElement))) { Region region = new Region(node.getOffset(), node.getLength()); acceptor.accept(new XbaseImplementatorsHyperlink(javaElement, region, sourceViewer, implOpener)); } } } } } }
From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderTest.java
License:Open Source License
@Override protected JvmOperation getMethodFromParameterizedMethods(String method) { JvmOperation result = super.getMethodFromParameterizedMethods(method); if (result != null) { IJavaElement found = elementFinder.findElementFor(result); assertEquals(IJavaElement.METHOD, found.getElementType()); assertEquals(result.getSimpleName(), found.getElementName()); IMethod foundMethod = (IMethod) found; assertEquals(result.getParameters().size(), foundMethod.getNumberOfParameters()); }/*from w ww . j av a 2 s . c o m*/ return result; }
From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderTest.java
License:Open Source License
@Override protected JvmOperation getMethodFromType(EObject context, Class<?> type, String method) { JvmOperation result = super.getMethodFromType(context, type, method); if (result != null) { IJavaElement found = elementFinder.findElementFor(result); assertEquals(IJavaElement.METHOD, found.getElementType()); assertEquals(result.getSimpleName(), found.getElementName()); IMethod foundMethod = (IMethod) found; assertEquals(result.getParameters().size(), foundMethod.getNumberOfParameters()); }/*from w w w . j av a 2 s .c om*/ return result; }
From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderTest.java
License:Open Source License
@Override protected JvmConstructor getConstructorFromType(EObject context, Class<?> type, String constructor) { JvmConstructor result = super.getConstructorFromType(context, type, constructor); if (result != null) { IJavaElement found = elementFinder.findElementFor(result); assertEquals(IJavaElement.METHOD, found.getElementType()); assertEquals(result.getSimpleName(), found.getElementName()); IMethod foundMethod = (IMethod) found; assertEquals(result.getParameters().size(), foundMethod.getNumberOfParameters()); }/* w w w. ja v a2 s.c o m*/ return result; }
From source file:org.eclipse.xtext.common.types.ui.query.QueryParticipant.java
License:Open Source License
private boolean isHandled(QuerySpecification query) { switch (query.getLimitTo()) { case IJavaSearchConstants.REFERENCES: case IJavaSearchConstants.ALL_OCCURRENCES: { break;/*from w w w . java 2s. com*/ } default: { return false; } } if (query instanceof ElementQuerySpecification) { IJavaElement element = ((ElementQuerySpecification) query).getElement(); return element.getElementType() == IJavaElement.TYPE || element.getElementType() == IJavaElement.FIELD || element.getElementType() == IJavaElement.METHOD; } // if (query instanceof PatternQuerySpecification) { // PatternQuerySpecification patternQuery = (PatternQuerySpecification) query; // switch (patternQuery.getSearchFor()) { // case IJavaSearchConstants.UNKNOWN: // case IJavaSearchConstants.TYPE: // case IJavaSearchConstants.CLASS: // case IJavaSearchConstants.CLASS_AND_INTERFACE: // case IJavaSearchConstants.CLASS_AND_ENUM: { // return true; // } // } // } return false; }
From source file:org.eclipse.xtext.common.types.ui.refactoring.JdtRenameRefactoringProcessorFactory.java
License:Open Source License
public JavaRenameProcessor createRenameProcessor(IJavaElement element) { try {/*from w w w.j a v a 2s . co m*/ switch (element.getElementType()) { case IJavaElement.TYPE: return new RenameTypeProcessor((IType) element); case IJavaElement.FIELD: if (((IField) element).getDeclaringType().isEnum()) return new RenameEnumConstProcessor((IField) element); else return new RenameFieldProcessor((IField) element); case IJavaElement.METHOD: if (((IMethod) element).isConstructor()) break; if (Flags.isStatic(((IMethod) element).getFlags()) || Flags.isPrivate(((IMethod) element).getFlags())) return new RenameNonVirtualMethodProcessor((IMethod) element); else return new RenameVirtualMethodProcessor((IMethod) element); case IJavaElement.TYPE_PARAMETER: return new RenameTypeParameterProcessor((ITypeParameter) element); case IJavaElement.LOCAL_VARIABLE: return new RenameLocalVariableProcessor((ILocalVariable) element); } } catch (JavaModelException exc) { LOG.error("Error creating refactoring processor for " + element.getElementName(), exc); } return null; }
From source file:org.eclipse.xtext.common.types.ui.refactoring.JvmRenameRefactoringProvider.java
License:Open Source License
/** * Copied from {@link org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode}. There does not seem to be a * clean way to initialize a JDT refactoring from the outside. *//* www . j a va 2 s .c o m*/ public RenameJavaElementDescriptor createRenameDescriptor(IJavaElement javaElement, String newName) throws JavaModelException { String contributionId; // see RefactoringExecutionStarter#createRenameSupport(..): int elementType = javaElement.getElementType(); switch (elementType) { case IJavaElement.JAVA_PROJECT: contributionId = IJavaRefactorings.RENAME_JAVA_PROJECT; break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: contributionId = IJavaRefactorings.RENAME_SOURCE_FOLDER; break; case IJavaElement.PACKAGE_FRAGMENT: contributionId = IJavaRefactorings.RENAME_PACKAGE; break; case IJavaElement.COMPILATION_UNIT: contributionId = IJavaRefactorings.RENAME_COMPILATION_UNIT; break; case IJavaElement.TYPE: contributionId = IJavaRefactorings.RENAME_TYPE; break; case IJavaElement.METHOD: final IMethod method = (IMethod) javaElement; if (method.isConstructor()) return createRenameDescriptor(method.getDeclaringType(), newName); else contributionId = IJavaRefactorings.RENAME_METHOD; break; case IJavaElement.FIELD: IField field = (IField) javaElement; if (field.isEnumConstant()) contributionId = IJavaRefactorings.RENAME_ENUM_CONSTANT; else contributionId = IJavaRefactorings.RENAME_FIELD; break; case IJavaElement.TYPE_PARAMETER: contributionId = IJavaRefactorings.RENAME_TYPE_PARAMETER; break; case IJavaElement.LOCAL_VARIABLE: contributionId = IJavaRefactorings.RENAME_LOCAL_VARIABLE; break; default: return null; } RenameJavaElementDescriptor descriptor = (RenameJavaElementDescriptor) RefactoringCore .getRefactoringContribution(contributionId).createDescriptor(); descriptor.setJavaElement(javaElement); descriptor.setNewName(newName); if (elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT) descriptor.setUpdateReferences(true); IDialogSettings javaSettings = JavaPlugin.getDefault().getDialogSettings(); IDialogSettings refactoringSettings = javaSettings.getSection(RefactoringWizardPage.REFACTORING_SETTINGS); //TODO: undocumented API if (refactoringSettings == null) { refactoringSettings = javaSettings.addNewSection(RefactoringWizardPage.REFACTORING_SETTINGS); } switch (elementType) { case IJavaElement.METHOD: case IJavaElement.FIELD: descriptor.setDeprecateDelegate(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_DEPRECATION)); descriptor.setKeepOriginal(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_UPDATING)); } switch (elementType) { case IJavaElement.TYPE: // case IJavaElement.COMPILATION_UNIT: // TODO descriptor.setUpdateSimilarDeclarations( refactoringSettings.getBoolean(RenameRefactoringWizard.TYPE_UPDATE_SIMILAR_ELEMENTS)); int strategy; try { strategy = refactoringSettings.getInt(RenameRefactoringWizard.TYPE_SIMILAR_MATCH_STRATEGY); } catch (NumberFormatException e) { strategy = RenamingNameSuggestor.STRATEGY_EXACT; } descriptor.setMatchStrategy(strategy); } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: descriptor.setUpdateHierarchy( refactoringSettings.getBoolean(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES)); } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: String fileNamePatterns = refactoringSettings.get(RenameRefactoringWizard.QUALIFIED_NAMES_PATTERNS); if (fileNamePatterns != null && fileNamePatterns.length() != 0) { descriptor.setFileNamePatterns(fileNamePatterns); boolean updateQualifiedNames = refactoringSettings .getBoolean(RenameRefactoringWizard.UPDATE_QUALIFIED_NAMES); descriptor.setUpdateQualifiedNames(updateQualifiedNames); // fShowPreview|= updateQualifiedNames; } } switch (elementType) { case IJavaElement.PACKAGE_FRAGMENT: case IJavaElement.TYPE: case IJavaElement.FIELD: boolean updateTextualOccurrences = refactoringSettings .getBoolean(RenameRefactoringWizard.UPDATE_TEXTUAL_MATCHES); descriptor.setUpdateTextualOccurrences(updateTextualOccurrences); // fShowPreview|= updateTextualOccurrences; } switch (elementType) { case IJavaElement.FIELD: descriptor .setRenameGetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_GETTER)); descriptor .setRenameSetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_SETTER)); } return descriptor; }