private static void getArchiveLabel(IPackageFragmentRoot root, long flags, ColoredString result) { // Handle variables different if (getFlag(flags, JavaElementLabels.ROOT_VARIABLE) && getVariableLabel(root, flags, result)) return; boolean external= root.isExternal(); if (external) getExternalArchiveLabel(root, flags, result); else getInternalArchiveLabel(root, flags, result); }
/** * Appends the label for a initializer to a {@link ColoredString}. Considers the I_* flags. * @param initializer The element to render. * @param flags The rendering flags. Flags with names starting with 'I_' are considered. * @param result The buffer to append the resulting label to. */ public static void getInitializerLabel(IInitializer initializer, long flags, ColoredString result) { // qualification if (getFlag(flags, JavaElementLabels.I_FULLY_QUALIFIED)) { getTypeLabel(initializer.getDeclaringType(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result); result.append('.'); } result.append(JavaUIMessages.JavaElementLabels_initializer); // post qualification if (getFlag(flags, JavaElementLabels.I_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getTypeLabel(initializer.getDeclaringType(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } }
/** * Appends the label for a package fragment to a {@link ColoredString}. Considers the P_* flags. * @param pack The element to render. * @param flags The rendering flags. Flags with names starting with P_' are considered. * @param result The buffer to append the resulting label to. */ public static void getPackageFragmentLabel(IPackageFragment pack, long flags, ColoredString result) { if (getFlag(flags, JavaElementLabels.P_QUALIFIED)) { getPackageFragmentRootLabel((IPackageFragmentRoot) pack.getParent(), JavaElementLabels.ROOT_QUALIFIED, result); result.append('/'); } if (pack.isDefaultPackage()) { result.append(JavaElementLabels.DEFAULT_PACKAGE); } else if (getFlag(flags, JavaElementLabels.P_COMPRESSED)) { StringBuffer buf= new StringBuffer(); JavaElementLabels.getPackageFragmentLabel(pack, JavaElementLabels.P_COMPRESSED, buf); result.append(buf.toString()); } else { result.append(pack.getElementName()); } if (getFlag(flags, JavaElementLabels.P_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentRootLabel((IPackageFragmentRoot) pack.getParent(), JavaElementLabels.ROOT_QUALIFIED, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } }
if (getFlag(flags, JavaElementLabels.F_PRE_TYPE_SIGNATURE)) { getTypeSignatureLabel(localVariable.getTypeSignature(), flags, result); result.append(' '); if (getFlag(flags, JavaElementLabels.F_FULLY_QUALIFIED)) { getElementLabel(localVariable.getParent(), JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_FULLY_QUALIFIED | JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result); result.append('.'); if (getFlag(flags, JavaElementLabels.F_APP_TYPE_SIGNATURE)) { int offset= result.length(); result.append(JavaElementLabels.DECL_STRING); getTypeSignatureLabel(localVariable.getTypeSignature(), flags, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, APPENDED_TYPE_STYLE); if (getFlag(flags, JavaElementLabels.F_POST_QUALIFIED)) { result.append(JavaElementLabels.CONCAT_STRING); getElementLabel(localVariable.getParent(), JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_FULLY_QUALIFIED | JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result);
private static void getInternalArchiveLabel(IPackageFragmentRoot root, long flags, ColoredString result) { IResource resource= root.getResource(); boolean rootQualified= getFlag(flags, JavaElementLabels.ROOT_QUALIFIED); boolean referencedQualified= getFlag(flags, JavaElementLabels.REFERENCED_ROOT_POST_QUALIFIED) && isReferenced(root); if (rootQualified) { result.append(root.getPath().makeRelative().toString()); } else { result.append(root.getElementName()); int offset= result.length(); if (referencedQualified) { result.append(JavaElementLabels.CONCAT_STRING); result.append(resource.getParent().getFullPath().makeRelative().toString()); } else if (getFlag(flags, JavaElementLabels.ROOT_POST_QUALIFIED)) { result.append(JavaElementLabels.CONCAT_STRING); result.append(root.getParent().getPath().makeRelative().toString()); } else { return; } if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } }
/** * Appends the label for a compilation unit to a {@link ColoredString}. Considers the CU_* flags. * @param cu The element to render. * @param flags The rendering flags. Flags with names starting with 'CU_' are considered. * @param result The buffer to append the resulting label to. */ public static void getCompilationUnitLabel(ICompilationUnit cu, long flags, ColoredString result) { if (getFlag(flags, JavaElementLabels.CU_QUALIFIED)) { IPackageFragment pack= (IPackageFragment) cu.getParent(); if (!pack.isDefaultPackage()) { getPackageFragmentLabel(pack, (flags & QUALIFIER_FLAGS), result); result.append('.'); } } result.append(cu.getElementName()); if (getFlag(flags, JavaElementLabels.CU_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentLabel((IPackageFragment) cu.getParent(), flags & QUALIFIER_FLAGS, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } }
/** * Appends the label for a class file to a {@link ColoredString}. Considers the CF_* flags. * @param classFile The element to render. * @param flags The rendering flags. Flags with names starting with 'CF_' are considered. * @param result The buffer to append the resulting label to. */ public static void getClassFileLabel(IClassFile classFile, long flags, ColoredString result) { if (getFlag(flags, JavaElementLabels.CF_QUALIFIED)) { IPackageFragment pack= (IPackageFragment) classFile.getParent(); if (!pack.isDefaultPackage()) { getPackageFragmentLabel(pack, (flags & QUALIFIER_FLAGS), result); result.append('.'); } } result.append(classFile.getElementName()); if (getFlag(flags, JavaElementLabels.CF_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentLabel((IPackageFragment) classFile.getParent(), flags & QUALIFIER_FLAGS, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } }
if (getFlag(flags, JavaElementLabels.D_QUALIFIED)) { IJavaElement openable= (IJavaElement) declaration.getOpenable(); if (openable != null) { if (getFlag(flags, JavaElementLabels.D_POST_QUALIFIED)) { int offset= result.length(); IJavaElement openable= (IJavaElement) declaration.getOpenable(); result.append(getElementLabel(openable, JavaElementLabels.CF_QUALIFIED | JavaElementLabels.CU_QUALIFIED | (flags & QUALIFIER_FLAGS))); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE);
private static void getFolderLabel(IPackageFragmentRoot root, long flags, ColoredString result) { IResource resource= root.getResource(); boolean rootQualified= getFlag(flags, JavaElementLabels.ROOT_QUALIFIED); boolean referencedQualified= getFlag(flags, JavaElementLabels.REFERENCED_ROOT_POST_QUALIFIED) && isReferenced(root); if (rootQualified) { result.append(root.getPath().makeRelative().toString()); result.append(JavaElementLabels.CONCAT_STRING); result.append(resource.getProject().getName()); } else if (getFlag(flags, JavaElementLabels.ROOT_POST_QUALIFIED)) { result.append(JavaElementLabels.CONCAT_STRING); result.append(root.getParent().getElementName()); return; if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE);
if (getFlag(flags, JavaElementLabels.F_PRE_TYPE_SIGNATURE) && field.exists() && !Flags.isEnum(field.getFlags())) { if (getFlag(flags, JavaElementLabels.USE_RESOLVED) && field.isResolved()) { getTypeSignatureLabel(new BindingKey(field.getKey()).toSignature(), flags, result); } else { if (getFlag(flags, JavaElementLabels.F_FULLY_QUALIFIED)) { getTypeLabel(field.getDeclaringType(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result); result.append('.'); if (getFlag(flags, JavaElementLabels.F_APP_TYPE_SIGNATURE) && field.exists() && !Flags.isEnum(field.getFlags())) { int offset= result.length(); result.append(JavaElementLabels.DECL_STRING); if (getFlag(flags, JavaElementLabels.USE_RESOLVED) && field.isResolved()) { getTypeSignatureLabel(new BindingKey(field.getKey()).toSignature(), flags, result); } else { getTypeSignatureLabel(field.getTypeSignature(), flags, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, APPENDED_TYPE_STYLE); if (getFlag(flags, JavaElementLabels.F_CATEGORY) && field.exists()) getCategoryLabel(field, result); if (getFlag(flags, JavaElementLabels.F_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getTypeLabel(field.getDeclaringType(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE);
private static void getExternalArchiveLabel(IPackageFragmentRoot root, long flags, ColoredString result) { IPath path= root.getPath(); if (getFlag(flags, JavaElementLabels.REFERENCED_ROOT_POST_QUALIFIED)) { int segements= path.segmentCount(); if (segements > 0) { result.append(path.segment(segements - 1)); int offset= result.length(); if (segements > 1 || path.getDevice() != null) { result.append(JavaElementLabels.CONCAT_STRING); result.append(path.removeLastSegments(1).toOSString()); } if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE); } } else { result.append(path.toOSString()); } } else { result.append(path.toOSString()); } }
IPath path= rawEntry.getPath().makeRelative(); int offset= result.length(); if (getFlag(flags, JavaElementLabels.REFERENCED_ROOT_POST_QUALIFIED)) { int segements= path.segmentCount(); if (segements > 0) { result.append(root.getPath().makeRelative().toString()); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE);
if (getFlag(flags, JavaElementLabels.T_FULLY_QUALIFIED)) { IPackageFragment pack= type.getPackageFragment(); if (!pack.isDefaultPackage()) { if (getFlag(flags, JavaElementLabels.T_FULLY_QUALIFIED | JavaElementLabels.T_CONTAINER_QUALIFIED)) { IType declaringType= type.getDeclaringType(); if (declaringType != null) { if (getFlag(flags, JavaElementLabels.T_TYPE_PARAMETERS)) { if (getFlag(flags, JavaElementLabels.USE_RESOLVED) && type.isResolved()) { BindingKey key= new BindingKey(type.getKey()); if (key.isParameterizedType()) { if (getFlag(flags, JavaElementLabels.T_CATEGORY) && type.exists()) { try { getCategoryLabel(type, result); if (getFlag(flags, JavaElementLabels.T_POST_QUALIFIED)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentLabel(type.getPackageFragment(), flags & QUALIFIER_FLAGS, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE);
BindingKey resolvedKey= getFlag(flags, JavaElementLabels.USE_RESOLVED) && method.isResolved() ? new BindingKey(method.getKey()) : null; String resolvedSig= (resolvedKey != null) ? resolvedKey.toSignature() : null; if (getFlag(flags, JavaElementLabels.M_PRE_TYPE_PARAMETERS)) { if (resolvedKey != null) { if (resolvedKey.isParameterizedMethod()) { if (getFlag(flags, JavaElementLabels.M_PRE_RETURNTYPE) && method.exists() && !method.isConstructor()) { String returnTypeSig= resolvedSig != null ? Signature.getReturnType(resolvedSig) : method.getReturnType(); getTypeSignatureLabel(returnTypeSig, flags, result); if (getFlag(flags, JavaElementLabels.M_FULLY_QUALIFIED)) { getTypeLabel(method.getDeclaringType(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), result); result.append('.'); if (getFlag(flags, JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_PARAMETER_NAMES)) { String[] types= null; int nParams= 0; boolean renderVarargs= false; if (getFlag(flags, JavaElementLabels.M_PARAMETER_TYPES)) { if (resolvedSig != null) { types= Signature.getParameterTypes(resolvedSig); if (getFlag(flags, JavaElementLabels.M_PARAMETER_NAMES) && method.exists()) { names= method.getParameterNames(); if (types == null) { if (getFlag(flags, JavaElementLabels.M_EXCEPTIONS)) { String[] types;
if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) { getPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED, result); result.append(JavaElementLabels.CONCAT_STRING); if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) { int offset= result.length(); result.append(JavaElementLabels.CONCAT_STRING); getPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED, result); if (getFlag(flags, COLORIZE)) { result.colorize(offset, result.length() - offset, QUALIFIER_STYLE);