Код, выполняющий это, находится в org.eclipse.jdt.internal.ui.text.java.ParameterGuesser
// add 'this'
if (currentType != null && !(fEnclosingElement instanceof IMethod && Flags.isStatic(((IMethod) fEnclosingElement).getFlags()))) {
String fullyQualifiedName= currentType.getFullyQualifiedName('.');
if (fullyQualifiedName.equals(expectedType)) {
ImageDescriptor desc= new JavaElementImageDescriptor(JavaPluginImages.DESC_FIELD_PUBLIC, JavaElementImageDescriptor.FINAL | JavaElementImageDescriptor.STATIC, JavaElementImageProvider.SMALL_SIZE);
res.add(new Variable(fullyQualifiedName, "this", Variable.LITERALS, false, res.size(), new char[] {'.'}, desc)); //$NON-NLS-1$
}
}
Ключевым элементом этого кода является
JavaElementImageDescriptor.FINAL | JavaElementImageDescriptor.STATIC
в качестве флагов для JavaElementImageDescriptor
, что жестко кодирует дисплей статических c и окончательных оверлейных изображений. Таким образом, они всегда отображаются для this
.
Почему это было выбрано, код не указывает причины.