List of usage examples for org.eclipse.jdt.core IJavaElement INITIALIZER
int INITIALIZER
To view the source code for org.eclipse.jdt.core IJavaElement INITIALIZER.
Click Source Link
From source file:at.bestsolution.fxide.jdt.corext.util.JavaModelUtil.java
License:Open Source License
/** * Evaluates if a member in the focus' element hierarchy is visible from * elements in a package./*w ww .jav a 2s . c om*/ * @param member The member to test the visibility for * @param pack The package of the focus element focus * @return returns <code>true</code> if the member is visible from the package * @throws JavaModelException thrown when the member can not be accessed */ public static boolean isVisibleInHierarchy(IMember member, IPackageFragment pack) throws JavaModelException { int type = member.getElementType(); if (type == IJavaElement.INITIALIZER || (type == IJavaElement.METHOD && member.getElementName().startsWith("<"))) { //$NON-NLS-1$ return false; } int otherflags = member.getFlags(); IType declaringType = member.getDeclaringType(); if (Flags.isPublic(otherflags) || Flags.isProtected(otherflags) || (declaringType != null && isInterfaceOrAnnotation(declaringType))) { return true; } else if (Flags.isPrivate(otherflags)) { return false; } IPackageFragment otherpack = (IPackageFragment) member.getAncestor(IJavaElement.PACKAGE_FRAGMENT); return (pack != null && pack.equals(otherpack)); }
From source file:at.bestsolution.fxide.jdt.text.viewersupport.JavaElementLabelComposer.java
License:Open Source License
/** * Appends the label for a Java element with the flags as defined by this class. * * @param element the element to render/* w w w. j a v a2 s . c om*/ * @param flags the rendering flags. */ public void appendElementLabel(IJavaElement element, long flags) { int type = element.getElementType(); IPackageFragmentRoot root = null; if (type != IJavaElement.JAVA_MODEL && type != IJavaElement.JAVA_PROJECT && type != IJavaElement.PACKAGE_FRAGMENT_ROOT) root = JavaModelUtil.getPackageFragmentRoot(element); if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) { appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED); fBuffer.append(JavaElementLabels.CONCAT_STRING); } switch (type) { case IJavaElement.METHOD: appendMethodLabel((IMethod) element, flags); break; case IJavaElement.FIELD: appendFieldLabel((IField) element, flags); break; case IJavaElement.LOCAL_VARIABLE: appendLocalVariableLabel((ILocalVariable) element, flags); break; case IJavaElement.TYPE_PARAMETER: appendTypeParameterLabel((ITypeParameter) element, flags); break; case IJavaElement.INITIALIZER: appendInitializerLabel((IInitializer) element, flags); break; case IJavaElement.TYPE: appendTypeLabel((IType) element, flags); break; case IJavaElement.CLASS_FILE: appendClassFileLabel((IClassFile) element, flags); break; case IJavaElement.COMPILATION_UNIT: appendCompilationUnitLabel((ICompilationUnit) element, flags); break; case IJavaElement.PACKAGE_FRAGMENT: appendPackageFragmentLabel((IPackageFragment) element, flags); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: appendPackageFragmentRootLabel((IPackageFragmentRoot) element, flags); break; case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.PACKAGE_DECLARATION: appendDeclarationLabel(element, flags); break; case IJavaElement.JAVA_PROJECT: case IJavaElement.JAVA_MODEL: fBuffer.append(element.getElementName()); break; default: fBuffer.append(element.getElementName()); } if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) { int offset = fBuffer.length(); fBuffer.append(JavaElementLabels.CONCAT_STRING); appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED); // if (getFlag(flags, JavaElementLabels.COLORIZE)) { // fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE); // } } }
From source file:at.bestsolution.fxide.jdt.text.viewersupport.JavaElementLabelComposer.java
License:Open Source License
/** * Appends the label for a type. Considers the T_* flags. * * @param type the element to render//from w w w. j av a 2 s. c o m * @param flags the rendering flags. Flags with names starting with 'T_' are considered. */ public void appendTypeLabel(IType type, long flags) { if (getFlag(flags, JavaElementLabels.T_FULLY_QUALIFIED)) { IPackageFragment pack = type.getPackageFragment(); if (!pack.isDefaultPackage()) { appendPackageFragmentLabel(pack, (flags & QUALIFIER_FLAGS)); fBuffer.append('.'); } } IJavaElement parent = type.getParent(); if (getFlag(flags, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.T_CONTAINER_QUALIFIED)) { IType declaringType = type.getDeclaringType(); if (declaringType != null) { appendTypeLabel(declaringType, JavaElementLabels.T_CONTAINER_QUALIFIED | (flags & QUALIFIER_FLAGS)); fBuffer.append('.'); } int parentType = parent.getElementType(); if (parentType == IJavaElement.METHOD || parentType == IJavaElement.FIELD || parentType == IJavaElement.INITIALIZER) { // anonymous or local appendElementLabel(parent, 0); fBuffer.append('.'); } } String typeName; boolean isAnonymous = false; if (type.isLambda()) { typeName = "() -> {...}"; //$NON-NLS-1$ try { String[] superInterfaceSignatures = type.getSuperInterfaceTypeSignatures(); if (superInterfaceSignatures.length > 0) { typeName = typeName + ' ' + getSimpleTypeName(type, superInterfaceSignatures[0]); } } catch (JavaModelException e) { //ignore } } else { typeName = getElementName(type); try { isAnonymous = type.isAnonymous(); } catch (JavaModelException e1) { // should not happen, but let's play safe: isAnonymous = typeName.length() == 0; } if (isAnonymous) { try { if (parent instanceof IField && type.isEnum()) { typeName = '{' + JavaElementLabels.ELLIPSIS_STRING + '}'; } else { String supertypeName = null; String[] superInterfaceSignatures = type.getSuperInterfaceTypeSignatures(); if (superInterfaceSignatures.length > 0) { supertypeName = getSimpleTypeName(type, superInterfaceSignatures[0]); } else { String supertypeSignature = type.getSuperclassTypeSignature(); if (supertypeSignature != null) { supertypeName = getSimpleTypeName(type, supertypeSignature); } } if (supertypeName == null) { typeName = JavaUIMessages.JavaElementLabels_anonym; } else { typeName = Messages.format(JavaUIMessages.JavaElementLabels_anonym_type, supertypeName); } } } catch (JavaModelException e) { //ignore typeName = JavaUIMessages.JavaElementLabels_anonym; } } } fBuffer.append(typeName); if (getFlag(flags, JavaElementLabels.T_TYPE_PARAMETERS)) { if (getFlag(flags, JavaElementLabels.USE_RESOLVED) && type.isResolved()) { BindingKey key = new BindingKey(type.getKey()); if (key.isParameterizedType()) { String[] typeArguments = key.getTypeArguments(); appendTypeArgumentSignaturesLabel(type, typeArguments, flags); } else { String[] typeParameters = Signature.getTypeParameters(key.toSignature()); appendTypeParameterSignaturesLabel(typeParameters, flags); } } else if (type.exists()) { try { appendTypeParametersLabels(type.getTypeParameters(), flags); } catch (JavaModelException e) { // ignore } } } // category if (getFlag(flags, JavaElementLabels.T_CATEGORY) && type.exists()) { try { appendCategoryLabel(type, flags); } catch (JavaModelException e) { // ignore } } // post qualification if (getFlag(flags, JavaElementLabels.T_POST_QUALIFIED)) { int offset = fBuffer.length(); fBuffer.append(JavaElementLabels.CONCAT_STRING); IType declaringType = type.getDeclaringType(); if (declaringType == null && type.isBinary() && isAnonymous) { // workaround for Bug 87165: [model] IType#getDeclaringType() does not work for anonymous binary type String tqn = type.getTypeQualifiedName(); int lastDollar = tqn.lastIndexOf('$'); if (lastDollar != 1) { String declaringTypeCF = tqn.substring(0, lastDollar) + ".class"; //$NON-NLS-1$ declaringType = type.getPackageFragment().getClassFile(declaringTypeCF).getType(); try { ISourceRange typeSourceRange = type.getSourceRange(); if (declaringType.exists() && SourceRange.isAvailable(typeSourceRange)) { IJavaElement realParent = declaringType.getTypeRoot() .getElementAt(typeSourceRange.getOffset() - 1); if (realParent != null) { parent = realParent; } } } catch (JavaModelException e) { // ignore } } } if (declaringType != null) { appendTypeLabel(declaringType, JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS)); int parentType = parent.getElementType(); if (parentType == IJavaElement.METHOD || parentType == IJavaElement.FIELD || parentType == IJavaElement.INITIALIZER) { // anonymous or local fBuffer.append('.'); appendElementLabel(parent, 0); } } else { appendPackageFragmentLabel(type.getPackageFragment(), flags & QUALIFIER_FLAGS); } // if (getFlag(flags, JavaElementLabels.COLORIZE)) { // fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE); // } } }
From source file:ca.uvic.chisel.diver.mylyn.logger.logging.PageSelectionListener.java
License:Open Source License
/** * @param je/* w w w . j av a 2s . c om*/ * @return */ private String getElementType(IJavaElement je) { switch (je.getElementType()) { case IJavaElement.ANNOTATION: return "annotation"; case IJavaElement.CLASS_FILE: return "classfile"; case IJavaElement.COMPILATION_UNIT: return "compilationunit"; case IJavaElement.FIELD: return "field"; case IJavaElement.IMPORT_CONTAINER: return "importcontainer"; case IJavaElement.IMPORT_DECLARATION: return "importdeclaration"; case IJavaElement.INITIALIZER: return "initializer"; case IJavaElement.JAVA_MODEL: return "javamodel"; case IJavaElement.JAVA_PROJECT: return "javaproject"; case IJavaElement.LOCAL_VARIABLE: return "localvariable"; case IJavaElement.METHOD: return "method"; case IJavaElement.PACKAGE_DECLARATION: return "packagedeclaration"; case IJavaElement.PACKAGE_FRAGMENT: return "packagefragment"; case IJavaElement.TYPE: return "type"; case IJavaElement.TYPE_PARAMETER: return "typeparameter"; } return "null"; }
From source file:ca.uvic.cs.tagsea.folding.TagseaJavaFoldingStructureProvider.java
License:Open Source License
@Override protected void computeFoldingStructure(IJavaElement element, FoldingStructureComputationContext ctx) { super.computeFoldingStructure(element, ctx); switch (element.getElementType()) { case IJavaElement.METHOD: return;// ww w. j av a 2s .c om case IJavaElement.IMPORT_CONTAINER: case IJavaElement.TYPE: case IJavaElement.FIELD: case IJavaElement.INITIALIZER: break; default: return; } IRegion[] tags = TagExtractor.getTagRegions(getDocument(), (ISourceReference) element); for (IRegion region : tags) { JavaProjectionAnnotation annotation = new JavaProjectionAnnotation(true, element, false); IRegion normalized = alignRegion(region, ctx); /* A null here indicates that we are attempting to fold a single line region */ if (normalized != null) { Position position = createCommentPosition(normalized); ctx.addProjectionRange(annotation, position); } } }
From source file:com.cb.eclipse.folding.java.calculation.StrategyFactory.java
License:Open Source License
/** * Get a CalculationStrategy instance that is capable of handling the region * building for <code>elem</code> * /*from www. j a v a2s . co m*/ * @param elem * The java element to find a calculation strategy for. * @return The Calculation strategy meant for processing elem. */ public static RegionCalculationStrategy instance(JavaProjectionCalculator calculator, IJavaElement elem) { int type = elem.getElementType(); switch (type) { case IJavaElement.TYPE: return new CommentPrefixStrategy(new TypeStrategy()); case IJavaElement.FIELD: case IJavaElement.METHOD: return new CommentPrefixStrategy(new MethodStrategy()); case IJavaElement.IMPORT_CONTAINER: return new ImportContainerStrategy(); case IJavaElement.COMPILATION_UNIT: case IJavaElement.CLASS_FILE: return new UserDefinedStrategy(new RootStrategy()); case IJavaElement.INITIALIZER: return new CommentPrefixStrategy(new StaticInitializerStrategy()); default: return NO_OP_STRATEGY; } }
From source file:com.codenvy.ide.ext.java.server.core.search.SearchPattern.java
License:Open Source License
/** * Returns the enclosing type names of the given type. *///from www .ja v a 2 s . c om private static char[][] enclosingTypeNames(IType type) { IJavaElement parent = type.getParent(); switch (parent.getElementType()) { case IJavaElement.CLASS_FILE: // For a binary type, the parent is not the enclosing type, but the declaring type is. // (see bug 20532 Declaration of member binary type not found) IType declaringType = type.getDeclaringType(); if (declaringType == null) return CharOperation.NO_CHAR_CHAR; return CharOperation.arrayConcat(enclosingTypeNames(declaringType), declaringType.getElementName().toCharArray()); case IJavaElement.COMPILATION_UNIT: return CharOperation.NO_CHAR_CHAR; case IJavaElement.FIELD: case IJavaElement.INITIALIZER: case IJavaElement.METHOD: IType declaringClass = ((IMember) parent).getDeclaringType(); return CharOperation.arrayConcat(enclosingTypeNames(declaringClass), new char[][] { declaringClass.getElementName().toCharArray(), IIndexConstants.ONE_STAR }); case IJavaElement.TYPE: return CharOperation.arrayConcat(enclosingTypeNames((IType) parent), parent.getElementName().toCharArray()); default: return null; } }
From source file:com.codenvy.ide.ext.java.server.internal.core.CompilationUnit.java
License:Open Source License
/** * @see org.eclipse.jdt.core.ICompilationUnit#findElements(org.eclipse.jdt.core.IJavaElement) *///from w ww.ja v a2 s .co m public IJavaElement[] findElements(IJavaElement element) { ArrayList children = new ArrayList(); while (element != null && element.getElementType() != IJavaElement.COMPILATION_UNIT) { children.add(element); element = element.getParent(); } if (element == null) return null; IJavaElement currentElement = this; for (int i = children.size() - 1; i >= 0; i--) { SourceRefElement child = (SourceRefElement) children.get(i); switch (child.getElementType()) { case IJavaElement.PACKAGE_DECLARATION: currentElement = ((ICompilationUnit) currentElement).getPackageDeclaration(child.getElementName()); break; case IJavaElement.IMPORT_CONTAINER: currentElement = ((ICompilationUnit) currentElement).getImportContainer(); break; case IJavaElement.IMPORT_DECLARATION: currentElement = ((IImportContainer) currentElement).getImport(child.getElementName()); break; case IJavaElement.TYPE: switch (currentElement.getElementType()) { case IJavaElement.COMPILATION_UNIT: currentElement = ((ICompilationUnit) currentElement).getType(child.getElementName()); break; case IJavaElement.TYPE: currentElement = ((IType) currentElement).getType(child.getElementName()); break; case IJavaElement.FIELD: case IJavaElement.INITIALIZER: case IJavaElement.METHOD: currentElement = ((IMember) currentElement).getType(child.getElementName(), child.occurrenceCount); break; } break; case IJavaElement.INITIALIZER: currentElement = ((IType) currentElement).getInitializer(child.occurrenceCount); break; case IJavaElement.FIELD: currentElement = ((IType) currentElement).getField(child.getElementName()); break; case IJavaElement.METHOD: currentElement = ((IType) currentElement).getMethod(child.getElementName(), ((IMethod) child).getParameterTypes()); break; } } if (currentElement != null && currentElement.exists()) { return new IJavaElement[] { currentElement }; } else { return null; } }
From source file:com.codenvy.ide.ext.java.server.internal.core.NamedMember.java
License:Open Source License
public String getTypeQualifiedName(char enclosingTypeSeparator, boolean showParameters) throws JavaModelException { NamedMember declaringType;//w ww . j a v a 2 s . c o m switch (this.parent.getElementType()) { case IJavaElement.COMPILATION_UNIT: if (showParameters) { StringBuffer buffer = new StringBuffer(this.name); appendTypeParameters(buffer); return buffer.toString(); } return this.name; case IJavaElement.CLASS_FILE: String classFileName = this.parent.getElementName(); String typeName; if (classFileName.indexOf('$') == -1) { // top level class file: name of type is same as name of class file typeName = this.name; } else { // anonymous or local class file typeName = classFileName.substring(0, classFileName.lastIndexOf('.'))/*remove .class*/.replace('$', enclosingTypeSeparator); } if (showParameters) { StringBuffer buffer = new StringBuffer(typeName); appendTypeParameters(buffer); return buffer.toString(); } return typeName; case IJavaElement.TYPE: declaringType = (NamedMember) this.parent; break; case IJavaElement.FIELD: case IJavaElement.INITIALIZER: case IJavaElement.METHOD: declaringType = (NamedMember) ((IMember) this.parent).getDeclaringType(); break; default: return null; } StringBuffer buffer = new StringBuffer( declaringType.getTypeQualifiedName(enclosingTypeSeparator, showParameters)); buffer.append(enclosingTypeSeparator); String simpleName = this.name.length() == 0 ? getOccurrenceCountSignature() : this.name; buffer.append(simpleName); if (showParameters) { appendTypeParameters(buffer); } return buffer.toString(); }
From source file:com.codenvy.ide.ext.java.server.internal.core.SourceType.java
License:Open Source License
public IJavaElement getPrimaryElement(boolean checkOwner) { if (checkOwner) { CompilationUnit cu = (CompilationUnit) getAncestor(COMPILATION_UNIT); if (cu.isPrimary()) return this; }//from www. ja va2 s . c om IJavaElement primaryParent = this.parent.getPrimaryElement(false); switch (primaryParent.getElementType()) { case IJavaElement.COMPILATION_UNIT: return ((ICompilationUnit) primaryParent).getType(this.name); case IJavaElement.TYPE: return ((IType) primaryParent).getType(this.name); case IJavaElement.FIELD: case IJavaElement.INITIALIZER: case IJavaElement.METHOD: return ((IMember) primaryParent).getType(this.name, this.occurrenceCount); } return this; }