org.jetbrains.kotlin.types.error.ErrorFunctionDescriptor.kt Maven / Gradle / Ivy
/*
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.types.error
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.descriptors.annotations.Annotations.Companion.EMPTY
import org.jetbrains.kotlin.descriptors.impl.FunctionDescriptorImpl
import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.types.TypeSubstitution
class ErrorFunctionDescriptor(containingDeclaration: ClassDescriptor) :
SimpleFunctionDescriptorImpl(
containingDeclaration, null, EMPTY, Name.special(ErrorEntity.ERROR_FUNCTION.debugText), CallableMemberDescriptor.Kind.DECLARATION, SourceElement.NO_SOURCE
) {
init {
initialize(
null, null, emptyList(), emptyList(), emptyList(),
ErrorUtils.createErrorType(ErrorTypeKind.RETURN_TYPE_FOR_FUNCTION), Modality.OPEN, DescriptorVisibilities.PUBLIC
)
}
override fun createSubstitutedCopy(
newOwner: DeclarationDescriptor,
original: FunctionDescriptor?,
kind: CallableMemberDescriptor.Kind,
newName: Name?,
annotations: Annotations,
source: SourceElement
): FunctionDescriptorImpl = this
override fun copy(
newOwner: DeclarationDescriptor,
modality: Modality,
visibility: DescriptorVisibility,
kind: CallableMemberDescriptor.Kind,
copyOverrides: Boolean
): SimpleFunctionDescriptor = this
override fun newCopyBuilder(): FunctionDescriptor.CopyBuilder =
object : FunctionDescriptor.CopyBuilder {
override fun setOwner(owner: DeclarationDescriptor): FunctionDescriptor.CopyBuilder = this
override fun setModality(modality: Modality): FunctionDescriptor.CopyBuilder = this
override fun setVisibility(visibility: DescriptorVisibility): FunctionDescriptor.CopyBuilder = this
override fun setKind(kind: CallableMemberDescriptor.Kind): FunctionDescriptor.CopyBuilder = this
override fun setCopyOverrides(copyOverrides: Boolean): FunctionDescriptor.CopyBuilder = this
override fun setName(name: Name): FunctionDescriptor.CopyBuilder = this
override fun setSubstitution(substitution: TypeSubstitution): FunctionDescriptor.CopyBuilder = this
override fun setValueParameters(
parameters: List
): FunctionDescriptor.CopyBuilder = this
override fun putUserData(userDataKey: CallableDescriptor.UserDataKey,
value: V
): FunctionDescriptor.CopyBuilder = this
override fun setTypeParameters(
parameters: List
): FunctionDescriptor.CopyBuilder = this
override fun setReturnType(type: KotlinType): FunctionDescriptor.CopyBuilder = this
override fun setContextReceiverParameters(
contextReceiverParameters: List
): FunctionDescriptor.CopyBuilder = this
override fun setExtensionReceiverParameter(
extensionReceiverParameter: ReceiverParameterDescriptor?
): FunctionDescriptor.CopyBuilder = this
override fun setDispatchReceiverParameter(
dispatchReceiverParameter: ReceiverParameterDescriptor?
): FunctionDescriptor.CopyBuilder = this
override fun setOriginal(original: CallableMemberDescriptor?): FunctionDescriptor.CopyBuilder = this
override fun setSignatureChange(): FunctionDescriptor.CopyBuilder = this
override fun setPreserveSourceElement(): FunctionDescriptor.CopyBuilder = this
override fun setDropOriginalInContainingParts(): FunctionDescriptor.CopyBuilder = this
override fun setHiddenToOvercomeSignatureClash(): FunctionDescriptor.CopyBuilder = this
override fun setHiddenForResolutionEverywhereBesideSupercalls(): FunctionDescriptor.CopyBuilder = this
override fun setAdditionalAnnotations(
additionalAnnotations: Annotations
): FunctionDescriptor.CopyBuilder = this
override fun build(): SimpleFunctionDescriptor = this@ErrorFunctionDescriptor
}
override fun isSuspend(): Boolean = false
override fun getUserData(key: CallableDescriptor.UserDataKey): V? = null
override fun setOverriddenDescriptors(overriddenDescriptors: Collection) {}
}