private static FunctionDescriptor generateFunctionSignatureForType( FunctionDescriptor functionDescriptor, ClassDescriptor typeDescriptor) { // TODO: support for generics. Modality modality = typeDescriptor.getModality(); if (typeDescriptor.getKind() == ClassKind.INTERFACE) { modality = Modality.OPEN; } return functionDescriptor.copy( typeDescriptor, modality, functionDescriptor.getVisibility(), CallableMemberDescriptor.Kind.DECLARATION, /* copyOverrides = */ false); }