@Override
protected List<IEObjectDescription> getAllLocalElements() {
List<IEObjectDescription> result = super.getAllLocalElements();
if (getSession().isInstanceContext() && !isExplicitStaticFeatureCall()) {
ITypeReferenceOwner owner = getReceiverType().getOwner();
QualifiedThisOrSuperDescription thisDescription = new QualifiedThisOrSuperDescription(THIS,
owner.newParameterizedTypeReference(getTypeLiteral()), getBucket().getId(), true, getReceiver());
addToList(thisDescription, result);
JvmType receiverRawType = getTypeLiteral();
if (receiverRawType instanceof JvmDeclaredType) {
JvmType referencedType = receiverRawType;
if (!(receiverRawType instanceof JvmGenericType && ((JvmGenericType) receiverRawType).isInterface())) {
JvmTypeReference superType = ((JvmDeclaredType) receiverRawType).getExtendedClass();
if (superType != null) {
referencedType = superType.getType();
}
}
QualifiedThisOrSuperDescription superDescription = new QualifiedThisOrSuperDescription(SUPER,
owner.newParameterizedTypeReference(referencedType), getBucket().getId(), true, getReceiver());
addToList(superDescription, result);
}
}
return result;
}