Change BACKING_FIELD_REQUIRED from SetSlice
This commit is contained in:
committed by
Alexander Udalov
parent
f0bc021b5e
commit
8d79fab109
+1
-1
@@ -484,7 +484,7 @@ class ControlFlowInformationProviderImpl private constructor(
|
|||||||
val variableDescriptor = ctxt.variableDescriptor
|
val variableDescriptor = ctxt.variableDescriptor
|
||||||
val mayBeInitializedNotHere = ctxt.enterInitState?.mayBeInitialized() ?: false
|
val mayBeInitializedNotHere = ctxt.enterInitState?.mayBeInitialized() ?: false
|
||||||
val hasBackingField = (variableDescriptor as? PropertyDescriptor)?.let {
|
val hasBackingField = (variableDescriptor as? PropertyDescriptor)?.let {
|
||||||
trace.get(BACKING_FIELD_REQUIRED, it)
|
trace.get(BACKING_FIELD_REQUIRED, it) ?: false
|
||||||
} ?: true
|
} ?: true
|
||||||
if (variableDescriptor is PropertyDescriptor && variableDescriptor.isVar) {
|
if (variableDescriptor is PropertyDescriptor && variableDescriptor.isVar) {
|
||||||
val descriptor = getEnclosingDescriptor(trace.bindingContext, expression)
|
val descriptor = getEnclosingDescriptor(trace.bindingContext, expression)
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ public interface BindingContext {
|
|||||||
|
|
||||||
WritableSlice<Box<DeferredType>, Boolean> DEFERRED_TYPE = Slices.createCollectiveSetSlice();
|
WritableSlice<Box<DeferredType>, Boolean> DEFERRED_TYPE = Slices.createCollectiveSetSlice();
|
||||||
|
|
||||||
WritableSlice<PropertyDescriptor, Boolean> BACKING_FIELD_REQUIRED = new SetSlice<PropertyDescriptor>(DO_NOTHING) {
|
WritableSlice<PropertyDescriptor, Boolean> BACKING_FIELD_REQUIRED = new BasicWritableSlice<PropertyDescriptor, Boolean>(DO_NOTHING) {
|
||||||
@Override
|
@Override
|
||||||
public Boolean computeValue(
|
public Boolean computeValue(
|
||||||
SlicedMap map,
|
SlicedMap map,
|
||||||
@@ -203,7 +203,6 @@ public interface BindingContext {
|
|||||||
if (propertyDescriptor.getKind() != CallableMemberDescriptor.Kind.DECLARATION) {
|
if (propertyDescriptor.getKind() != CallableMemberDescriptor.Kind.DECLARATION) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
backingFieldRequired = valueNotFound ? false : backingFieldRequired;
|
|
||||||
PsiElement declarationPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(propertyDescriptor);
|
PsiElement declarationPsiElement = DescriptorToSourceUtils.descriptorToDeclaration(propertyDescriptor);
|
||||||
if (declarationPsiElement instanceof KtParameter) {
|
if (declarationPsiElement instanceof KtParameter) {
|
||||||
KtParameter jetParameter = (KtParameter) declarationPsiElement;
|
KtParameter jetParameter = (KtParameter) declarationPsiElement;
|
||||||
|
|||||||
Reference in New Issue
Block a user