org.jetbrains.jet.lang.descriptors.impl
Class FunctionDescriptorImpl
java.lang.Object
org.jetbrains.jet.lang.descriptors.annotations.AnnotatedImpl
org.jetbrains.jet.lang.descriptors.impl.DeclarationDescriptorImpl
org.jetbrains.jet.lang.descriptors.impl.DeclarationDescriptorNonRootImpl
org.jetbrains.jet.lang.descriptors.impl.FunctionDescriptorImpl
- All Implemented Interfaces:
- Annotated, CallableDescriptor, CallableMemberDescriptor, DeclarationDescriptor, DeclarationDescriptorNonRoot, DeclarationDescriptorWithVisibility, FunctionDescriptor, MemberDescriptor, Named
- Direct Known Subclasses:
- ConstructorDescriptorImpl, ExpressionAsFunctionDescriptor, ScriptCodeDescriptor, SimpleFunctionDescriptorImpl
public abstract class FunctionDescriptorImpl
- extends DeclarationDescriptorNonRootImpl
- implements FunctionDescriptor
|
Method Summary |
|
accept(DeclarationDescriptorVisitor<R,D> visitor,
D data)
|
void |
addOverriddenDescriptor(CallableMemberDescriptor overriddenFunction)
|
protected abstract FunctionDescriptorImpl |
createSubstitutedCopy(DeclarationDescriptor newOwner,
boolean preserveOriginal,
CallableMemberDescriptor.Kind kind)
|
protected FunctionDescriptor |
doSubstitute(TypeSubstitutor originalSubstitutor,
DeclarationDescriptor newOwner,
Modality newModality,
Visibility newVisibility,
boolean preserveOriginal,
boolean copyOverrides,
CallableMemberDescriptor.Kind kind)
|
ReceiverParameterDescriptor |
getExpectedThisObject()
|
CallableMemberDescriptor.Kind |
getKind()
Is this a real function or function projection. |
Modality |
getModality()
|
FunctionDescriptor |
getOriginal()
|
java.util.Set<? extends FunctionDescriptor> |
getOverriddenDescriptors()
|
ReceiverParameterDescriptor |
getReceiverParameter()
|
JetType |
getReturnType()
Method may return null for not yet fully initialized object or if error occurred. |
java.util.List<TypeParameterDescriptor> |
getTypeParameters()
|
java.util.List<ValueParameterDescriptor> |
getValueParameters()
|
Visibility |
getVisibility()
|
protected FunctionDescriptorImpl |
initialize(JetType receiverParameterType,
ReceiverParameterDescriptor expectedThisObject,
java.util.List<? extends TypeParameterDescriptor> typeParameters,
java.util.List<ValueParameterDescriptor> unsubstitutedValueParameters,
JetType unsubstitutedReturnType,
Modality modality,
Visibility visibility)
|
void |
setReturnType(JetType unsubstitutedReturnType)
|
void |
setVisibility(Visibility visibility)
|
FunctionDescriptor |
substitute(TypeSubstitutor originalSubstitutor)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.jetbrains.jet.lang.descriptors.Named |
getName |
typeParameters
protected java.util.List<TypeParameterDescriptor> typeParameters
unsubstitutedValueParameters
protected java.util.List<ValueParameterDescriptor> unsubstitutedValueParameters
unsubstitutedReturnType
protected JetType unsubstitutedReturnType
expectedThisObject
protected ReceiverParameterDescriptor expectedThisObject
modality
protected Modality modality
visibility
protected Visibility visibility
overriddenFunctions
protected final java.util.Set<FunctionDescriptor> overriddenFunctions
FunctionDescriptorImpl
protected FunctionDescriptorImpl(@NotNull
DeclarationDescriptor containingDeclaration,
@NotNull
java.util.List<AnnotationDescriptor> annotations,
@NotNull
Name name,
@NotNull
CallableMemberDescriptor.Kind kind)
FunctionDescriptorImpl
protected FunctionDescriptorImpl(@NotNull
DeclarationDescriptor containingDeclaration,
@NotNull
FunctionDescriptor original,
@NotNull
java.util.List<AnnotationDescriptor> annotations,
@NotNull
Name name,
@NotNull
CallableMemberDescriptor.Kind kind)
initialize
protected FunctionDescriptorImpl initialize(@Nullable
JetType receiverParameterType,
@Nullable
ReceiverParameterDescriptor expectedThisObject,
@NotNull
java.util.List<? extends TypeParameterDescriptor> typeParameters,
@NotNull
java.util.List<ValueParameterDescriptor> unsubstitutedValueParameters,
@Nullable
JetType unsubstitutedReturnType,
@Nullable
Modality modality,
@NotNull
Visibility visibility)
setVisibility
public void setVisibility(@NotNull
Visibility visibility)
setReturnType
public void setReturnType(@NotNull
JetType unsubstitutedReturnType)
getReceiverParameter
@Nullable
public ReceiverParameterDescriptor getReceiverParameter()
- Specified by:
getReceiverParameter in interface CallableDescriptor
getExpectedThisObject
@Nullable
public ReceiverParameterDescriptor getExpectedThisObject()
- Specified by:
getExpectedThisObject in interface CallableDescriptor
getOverriddenDescriptors
@NotNull
public java.util.Set<? extends FunctionDescriptor> getOverriddenDescriptors()
- Specified by:
getOverriddenDescriptors in interface CallableDescriptor- Specified by:
getOverriddenDescriptors in interface CallableMemberDescriptor- Specified by:
getOverriddenDescriptors in interface FunctionDescriptor
getModality
@NotNull
public Modality getModality()
- Specified by:
getModality in interface MemberDescriptor
getVisibility
@NotNull
public Visibility getVisibility()
- Specified by:
getVisibility in interface DeclarationDescriptorWithVisibility- Specified by:
getVisibility in interface MemberDescriptor
addOverriddenDescriptor
public void addOverriddenDescriptor(@NotNull
CallableMemberDescriptor overriddenFunction)
- Specified by:
addOverriddenDescriptor in interface CallableMemberDescriptor
getTypeParameters
@NotNull
public java.util.List<TypeParameterDescriptor> getTypeParameters()
- Specified by:
getTypeParameters in interface CallableDescriptor
getValueParameters
@NotNull
public java.util.List<ValueParameterDescriptor> getValueParameters()
- Specified by:
getValueParameters in interface CallableDescriptor
getReturnType
public JetType getReturnType()
- Description copied from interface:
CallableDescriptor
- Method may return null for not yet fully initialized object or if error occurred.
- Specified by:
getReturnType in interface CallableDescriptor
getOriginal
@NotNull
public FunctionDescriptor getOriginal()
- Specified by:
getOriginal in interface CallableDescriptor- Specified by:
getOriginal in interface CallableMemberDescriptor- Specified by:
getOriginal in interface DeclarationDescriptor- Specified by:
getOriginal in interface FunctionDescriptor- Overrides:
getOriginal in class DeclarationDescriptorImpl
- Returns:
- The descriptor that corresponds to the original declaration of this element.
A descriptor can be obtained from its original by substituting type arguments (of the declaring class
or of the element itself).
returns
this object if the current descriptor is original itself
getKind
public CallableMemberDescriptor.Kind getKind()
- Description copied from interface:
CallableMemberDescriptor
- Is this a real function or function projection.
- Specified by:
getKind in interface CallableMemberDescriptor
substitute
public final FunctionDescriptor substitute(@NotNull
TypeSubstitutor originalSubstitutor)
- Specified by:
substitute in interface CallableDescriptor- Specified by:
substitute in interface DeclarationDescriptor- Specified by:
substitute in interface FunctionDescriptor
doSubstitute
protected FunctionDescriptor doSubstitute(TypeSubstitutor originalSubstitutor,
DeclarationDescriptor newOwner,
Modality newModality,
Visibility newVisibility,
boolean preserveOriginal,
boolean copyOverrides,
CallableMemberDescriptor.Kind kind)
createSubstitutedCopy
protected abstract FunctionDescriptorImpl createSubstitutedCopy(DeclarationDescriptor newOwner,
boolean preserveOriginal,
CallableMemberDescriptor.Kind kind)
accept
public <R,D> R accept(DeclarationDescriptorVisitor<R,D> visitor,
D data)
- Specified by:
accept in interface DeclarationDescriptor